SplashFragment: Fix parsing shared app link

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-08-14 19:22:40 +05:30
parent 177b145cc8
commit 944917191d
2 changed files with 3 additions and 23 deletions

View File

@@ -22,8 +22,6 @@ package com.aurora.extensions
import android.graphics.Color import android.graphics.Color
import android.text.format.DateFormat import android.text.format.DateFormat
import androidx.annotation.ColorInt import androidx.annotation.ColorInt
import java.io.PrintWriter
import java.io.StringWriter
import java.util.Calendar import java.util.Calendar
import java.util.Locale import java.util.Locale
import javax.annotation.Nullable import javax.annotation.Nullable
@@ -34,19 +32,6 @@ fun Long.toDate(): String {
return DateFormat.format("dd/MM/yy", calendar).toString() return DateFormat.format("dd/MM/yy", calendar).toString()
} }
fun Throwable.stackTraceToString(): String {
val stringWriter = StringWriter(1024)
val printWriter = PrintWriter(stringWriter)
printStackTrace(printWriter)
printWriter.close()
return stringWriter.toString()
}
fun isValidPackageName(packageName: String): Boolean {
val packageRegex = "^[a-zA-Z][a-zA-Z0-9_]*(\\.[a-zA-Z][a-zA-Z0-9_]*)*$".toRegex()
return packageName.matches(packageRegex)
}
/** /**
* Computes a darker color from the given color. * Computes a darker color from the given color.
* @param color The color to darken. * @param color The color to darken.

View File

@@ -20,12 +20,12 @@
package com.aurora.store.view.ui.splash package com.aurora.store.view.ui.splash
import android.content.Intent import android.content.Intent
import android.net.UrlQuerySanitizer
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import com.aurora.extensions.hide import com.aurora.extensions.hide
import com.aurora.extensions.isValidPackageName
import com.aurora.extensions.show import com.aurora.extensions.show
import com.aurora.store.R import com.aurora.store.R
import com.aurora.store.data.model.AuthState import com.aurora.store.data.model.AuthState
@@ -209,13 +209,8 @@ class SplashFragment : BaseFragment<FragmentSplashBinding>() {
return if (activity?.intent != null && activity?.intent?.scheme == "market") { return if (activity?.intent != null && activity?.intent?.scheme == "market") {
requireActivity().intent.data!!.getQueryParameter("id") ?: "" requireActivity().intent.data!!.getQueryParameter("id") ?: ""
} else if (activity?.intent != null && activity?.intent?.action == Intent.ACTION_SEND) { } else if (activity?.intent != null && activity?.intent?.action == Intent.ACTION_SEND) {
val clipData = requireActivity().intent.clipData?.getItemAt(0)?.text.toString() val clipData = activity?.intent?.getStringExtra(Intent.EXTRA_TEXT) ?: ""
if (clipData.contains("/store/apps/details?id=")) { UrlQuerySanitizer(clipData).getValue("id") ?: ""
val packageName = clipData.split("id=").last().trim()
if (isValidPackageName(packageName)) packageName else ""
} else {
""
}
} else { } else {
requireArguments().getString("packageName") ?: "" requireArguments().getString("packageName") ?: ""
} }