diff --git a/app/src/main/java/com/aurora/extensions/Commons.kt b/app/src/main/java/com/aurora/extensions/Commons.kt index c2b4793d0..92271ba13 100644 --- a/app/src/main/java/com/aurora/extensions/Commons.kt +++ b/app/src/main/java/com/aurora/extensions/Commons.kt @@ -22,8 +22,6 @@ package com.aurora.extensions import android.graphics.Color import android.text.format.DateFormat import androidx.annotation.ColorInt -import java.io.PrintWriter -import java.io.StringWriter import java.util.Calendar import java.util.Locale import javax.annotation.Nullable @@ -34,19 +32,6 @@ fun Long.toDate(): String { 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. * @param color The color to darken. diff --git a/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt b/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt index 2678f00c0..601d69ead 100644 --- a/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/splash/SplashFragment.kt @@ -20,12 +20,12 @@ package com.aurora.store.view.ui.splash import android.content.Intent +import android.net.UrlQuerySanitizer import android.os.Bundle import android.view.View import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController import com.aurora.extensions.hide -import com.aurora.extensions.isValidPackageName import com.aurora.extensions.show import com.aurora.store.R import com.aurora.store.data.model.AuthState @@ -209,13 +209,8 @@ class SplashFragment : BaseFragment() { return if (activity?.intent != null && activity?.intent?.scheme == "market") { requireActivity().intent.data!!.getQueryParameter("id") ?: "" } else if (activity?.intent != null && activity?.intent?.action == Intent.ACTION_SEND) { - val clipData = requireActivity().intent.clipData?.getItemAt(0)?.text.toString() - if (clipData.contains("/store/apps/details?id=")) { - val packageName = clipData.split("id=").last().trim() - if (isValidPackageName(packageName)) packageName else "" - } else { - "" - } + val clipData = activity?.intent?.getStringExtra(Intent.EXTRA_TEXT) ?: "" + UrlQuerySanitizer(clipData).getValue("id") ?: "" } else { requireArguments().getString("packageName") ?: "" }