Skip to content

Commit

Permalink
display image in services
Browse files Browse the repository at this point in the history
  • Loading branch information
Okuro3499 committed Oct 16, 2024
1 parent 4554aa4 commit 978bf81
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 33 deletions.
19 changes: 1 addition & 18 deletions app/src/main/java/org/ole/planet/myplanet/model/RealmMyCourse.kt
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ import org.ole.planet.myplanet.MainApplication.Companion.context
import org.ole.planet.myplanet.model.RealmMyLibrary.Companion.createStepResource
import org.ole.planet.myplanet.model.RealmStepExam.Companion.insertCourseStepsExams
import org.ole.planet.myplanet.utilities.Constants.PREFS_NAME
import org.ole.planet.myplanet.utilities.DownloadUtils.extractLinks
import org.ole.planet.myplanet.utilities.JsonUtils
import org.ole.planet.myplanet.utilities.Utilities
import java.io.File
import java.io.FileWriter
import java.io.IOException
import java.util.regex.Pattern

open class RealmMyCourse : RealmObject() {
@JvmField
Expand Down Expand Up @@ -183,23 +183,6 @@ open class RealmMyCourse : RealmObject() {
writeCsv("${context.getExternalFilesDir(null)}/ole/course.csv", courseDataList)
}

private fun extractLinks(text: String?): ArrayList<String> {
val links = ArrayList<String>()
val pattern = Pattern.compile("!\\[.*?]\\((.*?)\\)")
val matcher = text?.let { pattern.matcher(it) }
if (matcher != null) {
while (matcher.find()) {
val link = matcher.group(1)
if (link != null) {
if (link.isNotEmpty()) {
links.add(link)
}
}
}
}
return links
}

@JvmStatic
fun saveConcatenatedLinksToPrefs() {
val settings: SharedPreferences = context.getSharedPreferences(PREFS_NAME, MODE_PRIVATE)
Expand Down
11 changes: 11 additions & 0 deletions app/src/main/java/org/ole/planet/myplanet/model/RealmMyTeam.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ import io.realm.RealmResults
import io.realm.annotations.PrimaryKey
import org.ole.planet.myplanet.MainApplication.Companion.context
import org.ole.planet.myplanet.utilities.AndroidDecrypter
import org.ole.planet.myplanet.utilities.DownloadUtils.extractLinks
import org.ole.planet.myplanet.utilities.JsonUtils
import org.ole.planet.myplanet.utilities.Utilities.getUrl
import org.ole.planet.myplanet.utilities.Utilities.openDownloadService
import java.io.File
import java.io.FileWriter
import java.io.IOException
Expand Down Expand Up @@ -98,6 +101,7 @@ open class RealmMyTeam : RealmObject() {
companion object {
private val teamDataList: MutableList<Array<String>> = mutableListOf()
val reportsDataList: MutableList<Array<String>> = mutableListOf()
private val concatenatedLinks = ArrayList<String>()

@JvmStatic
fun insertMyTeams(doc: JsonObject, mRealm: Realm) {
Expand All @@ -114,6 +118,13 @@ open class RealmMyTeam : RealmObject() {
myTeams.sourcePlanet = JsonUtils.getString("sourcePlanet", doc)
myTeams.title = JsonUtils.getString("title", doc)
myTeams.description = JsonUtils.getString("description", doc)
val links = extractLinks(JsonUtils.getString("description", doc))
val baseUrl = getUrl()
for (link in links) {
val concatenatedLink = "$baseUrl/$link"
concatenatedLinks.add(concatenatedLink)
}
openDownloadService(context, concatenatedLinks, true)
myTeams.limit = JsonUtils.getInt("limit", doc)
myTeams.status = JsonUtils.getString("status", doc)
myTeams.teamPlanetCode = JsonUtils.getString("teamPlanetCode", doc)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@ import android.view.ViewGroup
import android.widget.TextView
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import io.realm.RealmResults
import org.ole.planet.myplanet.MainApplication
import org.ole.planet.myplanet.R
import org.ole.planet.myplanet.callback.OnHomeItemClickListener
import org.ole.planet.myplanet.databinding.FragmentServicesBinding
import org.ole.planet.myplanet.datamanager.DatabaseService
import org.ole.planet.myplanet.model.RealmMyTeam
import org.ole.planet.myplanet.model.RealmNews
import org.ole.planet.myplanet.service.UserProfileDbHandler
import org.ole.planet.myplanet.ui.courses.CourseStepFragment
import org.ole.planet.myplanet.ui.team.BaseTeamFragment
import org.ole.planet.myplanet.ui.team.TeamDetailFragment
import org.ole.planet.myplanet.utilities.Markdown.setMarkdownText
Expand Down Expand Up @@ -47,14 +49,16 @@ class ServicesFragment : BaseTeamFragment() {
}

if (links?.size == 0) {
val description = team?.description ?: ""
fragmentServicesBinding.llServices.visibility = View.GONE
fragmentServicesBinding.tvDescription.visibility = View.VISIBLE
setMarkdownText(fragmentServicesBinding.tvDescription, description)
} else {
setRecyclerView(links)
}

val description = team?.description ?: ""
fragmentServicesBinding.llServices.visibility = View.VISIBLE
fragmentServicesBinding.tvDescription.visibility = View.VISIBLE
val markdownContentWithLocalPaths = CourseStepFragment.prependBaseUrlToImages(description, "file://${MainApplication.context.getExternalFilesDir(null)}/ole/")
setMarkdownText(fragmentServicesBinding.tvDescription, markdownContentWithLocalPaths)
setRecyclerView(links)

if (user?.isManager() == true || user?.isLeader() == true) {
fragmentServicesBinding.fab.show()
} else {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package org.ole.planet.myplanet.utilities

import org.ole.planet.myplanet.model.RealmMyLibrary
import java.util.regex.Pattern
import kotlin.text.isNotEmpty

object DownloadUtils {
@JvmStatic
Expand All @@ -20,4 +22,21 @@ object DownloadUtils {
}
return urls
}

fun extractLinks(text: String?): ArrayList<String> {
val links = ArrayList<String>()
val pattern = Pattern.compile("!\\[.*?]\\((.*?)\\)")
val matcher = text?.let { pattern.matcher(it) }
if (matcher != null) {
while (matcher.find()) {
val link = matcher.group(1)
if (link != null) {
if (link.isNotEmpty()) {
links.add(link)
}
}
}
}
return links
}
}
19 changes: 9 additions & 10 deletions app/src/main/res/layout/fragment_services.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,24 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">

<LinearLayout
android:id="@+id/ll_services"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/tv_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/padding_normal"
android:textColor="@color/daynight_textColor"
android:textSize="@dimen/text_size_large"
android:visibility="gone"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<LinearLayout
android:id="@+id/ll_services"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/padding_normal"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_description" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

Expand Down

0 comments on commit 978bf81

Please sign in to comment.