SplashFragment: Fix parsing shared app link
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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") ?: ""
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user