Validate packagename to avoid bogus packagenames
This commit is contained in:
@@ -37,4 +37,9 @@ fun Throwable.stackTraceToString(): String {
|
|||||||
printStackTrace(printWriter)
|
printStackTrace(printWriter)
|
||||||
printWriter.close()
|
printWriter.close()
|
||||||
return stringWriter.toString()
|
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)
|
||||||
}
|
}
|
||||||
@@ -27,6 +27,7 @@ import androidx.navigation.fragment.findNavController
|
|||||||
import coil.load
|
import coil.load
|
||||||
import coil.transform.RoundedCornersTransformation
|
import coil.transform.RoundedCornersTransformation
|
||||||
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.AuthState
|
import com.aurora.store.data.AuthState
|
||||||
@@ -227,7 +228,8 @@ class SplashFragment : BaseFragment(R.layout.fragment_splash) {
|
|||||||
} 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 = requireActivity().intent.clipData?.getItemAt(0)?.text.toString()
|
||||||
if (clipData.contains("/store/apps/details?id=")) {
|
if (clipData.contains("/store/apps/details?id=")) {
|
||||||
clipData.split("id=").last().trim()
|
val packageName = clipData.split("id=").last().trim()
|
||||||
|
if (isValidPackageName(packageName)) packageName else ""
|
||||||
} else {
|
} else {
|
||||||
""
|
""
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user