Compare commits

1 Commits
7 changed files with 74 additions and 17 deletions
@@ -5,7 +5,7 @@ import com.github.wrdlbrnft.sortedlistadapter.SortedListAdapter
data class AppData(
val titleID: String?, val region: String?, val title: String?, val link: String?,
val license: String?, val contentID: String?, val lastDateTime: String?,
val fileSize: Number?, val sha256: String?, val minFW: String?
val fileSize: Number?, val version: String?, val sha256: String?, val minFW: String?
) : SortedListAdapter.ViewModel {
override fun equals(other: Any?): Boolean {
if (this === other) return true
@@ -21,6 +21,7 @@ data class AppData(
if (contentID != other.contentID) return false
if (lastDateTime != other.lastDateTime) return false
if (fileSize != other.fileSize) return false
if (version != other.version) return false
if (sha256 != other.sha256) return false
if (minFW != other.minFW) return false
@@ -36,6 +37,7 @@ data class AppData(
result = 31 * result + (contentID?.hashCode() ?: 0)
result = 31 * result + (lastDateTime?.hashCode() ?: 0)
result = 31 * result + (fileSize?.hashCode() ?: 0)
result = 31 * result + (version?.hashCode() ?: 0)
result = 31 * result + (sha256?.hashCode() ?: 0)
result = 31 * result + (minFW?.hashCode() ?: 0)
return result
@@ -47,6 +47,11 @@ class SingleAppFragment : Fragment() {
view?.findViewById<TextView>(R.id.singleAppSizeTitle)?.visibility = View.INVISIBLE
}
view?.findViewById<TextView>(R.id.singleAppContentId)?.text = app.contentID
if (app.version != null) {
view?.findViewById<TextView>(R.id.singleAppVer)?.text = app.version
} else {
view?.findViewById<TextView>(R.id.singleAppVerTitle)?.visibility = View.INVISIBLE
}
view?.findViewById<TextView>(R.id.singleAppFwVer)?.text = app.minFW
// TODO: get and set app icon
if (app.minFW.isNullOrBlank()) {
@@ -59,10 +64,12 @@ class SingleAppFragment : Fragment() {
if (app.link == "CART ONLY") {
view?.findViewById<TextView>(R.id.singleAppError)?.text = getString(R.string.cart_only)
view?.findViewById<Button>(R.id.singleAppDownloadButton)?.isEnabled = false
view?.findViewById<Button>(R.id.singleAppCopyPKGButton)?.isEnabled = false
view?.findViewById<Button>(R.id.singleAppCopyZRIFButton)?.isEnabled = false
} else if (app.link == "MISSING") {
view?.findViewById<TextView>(R.id.singleAppError)?.text = getString(R.string.no_download_link)
view?.findViewById<Button>(R.id.singleAppDownloadButton)?.isEnabled = false
view?.findViewById<Button>(R.id.singleAppCopyPKGButton)?.isEnabled = false
view?.findViewById<Button>(R.id.singleAppCopyZRIFButton)?.isEnabled = false
}
@@ -90,24 +97,19 @@ class SingleAppFragment : Fragment() {
) // TODO: set up preference for this
downloadManager.enqueue(request)
} catch (e: Exception) {
Toast.makeText(
requireContext(),
getString(R.string.download_error),
Toast.LENGTH_SHORT
).show()
Toast.makeText(requireContext(), getString(R.string.download_error), Toast.LENGTH_SHORT).show()
}
}
// long click listener for download button
view?.findViewById<Button>(R.id.singleAppDownloadButton)?.setOnLongClickListener {
// click listener for the copy pkg button
view?.findViewById<Button>(R.id.singleAppCopyPKGButton)?.setOnClickListener {
val clipboardManager = requireActivity().getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
val clipData = ClipData.newPlainText("PKG URL", app.link)
clipboardManager.setPrimaryClip(clipData)
Toast.makeText(requireContext(),getString(R.string.pkg_url_copied),Toast.LENGTH_SHORT).show()
true
}
// click listener for the copyzrifbutton button
// click listener for the copy zRIF button
view?.findViewById<Button>(R.id.singleAppCopyZRIFButton)?.setOnClickListener {
val clipboardManager = requireActivity().getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
val clipData = ClipData.newPlainText("zRIF", app.license)
@@ -151,12 +151,13 @@ class MainActivityFragment : Fragment() {
lastDateTime = lastDateTime.substring(0, 10)
}
val fileSize = entry["File Size"]?.toLongOrNull()
val version = entry["Update Version"]
val sha256 = entry["SHA256"]
val minFW = entry["Required FW"]
val app = AppData(
id, region, name, link ?: "MISSING", license ?: "MISSING",
contentID ?: "MISSING", lastDateTime ?: "MISSING",
fileSize, sha256 ?: "MISSING", minFW
fileSize, version, sha256 ?: "MISSING", minFW
)
apps?.add(app)
}
@@ -70,6 +70,19 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/singleAppTitle" />
<Button
android:id="@+id/singleAppCopyPKGButton"
android:layout_width="0dp"
android:layout_height="66dp"
android:layout_marginStart="48dp"
android:layout_marginTop="6dp"
android:layout_marginEnd="48dp"
android:text="@string/copy_pkg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/singleAppDownloadButton" />
<Button
android:id="@+id/singleAppCopyZRIFButton"
android:layout_width="0dp"
@@ -81,7 +94,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/singleAppDownloadButton" />
app:layout_constraintTop_toBottomOf="@+id/singleAppCopyPKGButton" />
<TextView
android:id="@+id/singleAppContentIdTitle"
@@ -134,6 +147,23 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/singleAppContentId" />
<TextView
android:id="@+id/singleAppVerTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="48dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="48dp"
android:fontFamily="sans-serif-black"
android:text="@string/version"
android:textAlignment="center"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/singleAppSize" />
<TextView
android:id="@+id/singleAppFwVerTitle"
android:layout_width="match_parent"
@@ -168,6 +198,23 @@
app:layout_constraintTop_toBottomOf="@+id/singleAppSizeTitle"
tools:text="Size" />
<TextView
android:id="@+id/singleAppVer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="48dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="48dp"
android:fontFamily="sans-serif-light"
android:textAlignment="center"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/singleAppVerTitle"
tools:text="Version" />
<TextView
android:id="@+id/singleAppFwVer"
android:layout_width="match_parent"
@@ -185,7 +232,6 @@
app:layout_constraintTop_toBottomOf="@+id/singleAppFwVerTitle"
tools:text="MinFW" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
+3 -1
View File
@@ -4,9 +4,11 @@
<string name="title_activity_settings">设置</string>
<string name="search">搜索</string>
<string name="download">下载</string>
<string name="copy_zrif">复制zRIF</string>
<string name="copy_pkg">复制PKG地址</string>
<string name="copy_zrif">复制zRIF密钥</string>
<string name="content_id">内容ID</string>
<string name="size">大小</string>
<string name="version">版本</string>
<string name="minfw">最低固件版本</string>
<string name="single_app_icon">应用图标</string>
<string name="no_license">注意:这个内容没有提供授权</string>
+3 -1
View File
@@ -4,9 +4,11 @@
<string name="title_activity_settings">設置</string>
<string name="search">搜尋</string>
<string name="download">下載</string>
<string name="copy_zrif">複製zRIF</string>
<string name="copy_pkg">複製PKG地址</string>
<string name="copy_zrif">複製zRIF金鑰</string>
<string name="content_id">內容ID</string>
<string name="size">檔案大小</string>
<string name="version">版本</string>
<string name="minfw">最低韌體版本</string>
<string name="single_app_icon">應用程式圖標</string>
<string name="no_license">注意:這個內容沒有提供授權</string>
+3 -1
View File
@@ -4,9 +4,11 @@
<string name="title_activity_settings">Settings</string>
<string name="search">Search</string>
<string name="download">Download</string>
<string name="copy_zrif">Copy zRIF</string>
<string name="copy_pkg">Copy PKG URL</string>
<string name="copy_zrif">Copy zRIF Key</string>
<string name="content_id">Content ID</string>
<string name="size">Size</string>
<string name="version">Version</string>
<string name="minfw">Minimum Firmware Version</string>
<string name="single_app_icon">Single app icon</string>
<string name="no_license">Warning: No license was provided for this content.</string>