Validate packagename to avoid bogus packagenames

This commit is contained in:
Rahul Patel
2023-10-13 05:13:22 +05:30
parent cdbbebbea6
commit bd621163cc
2 changed files with 8 additions and 1 deletions

View File

@@ -37,4 +37,9 @@ fun Throwable.stackTraceToString(): String {
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)
}

View File

@@ -27,6 +27,7 @@ import androidx.navigation.fragment.findNavController
import coil.load
import coil.transform.RoundedCornersTransformation
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.AuthState
@@ -227,7 +228,8 @@ class SplashFragment : BaseFragment(R.layout.fragment_splash) {
} 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=")) {
clipData.split("id=").last().trim()
val packageName = clipData.split("id=").last().trim()
if (isValidPackageName(packageName)) packageName else ""
} else {
""
}