Fix kotlin nullable errors in Settings
Fix kotlin nullable errors that were exposed by setting the retention of android.annotation.NonNull and android.annotation.Nullable to class retention. Bug: 294110802 Test: builds Change-Id: I6aa0516fa4f6443b6d4dff873baf3b08ff9189f0
This commit is contained in:
@@ -46,7 +46,7 @@ class RegulatoryInfoDisplayActivity : Activity() {
|
||||
|
||||
getRegulatoryInfo()?.let {
|
||||
val view = layoutInflater.inflate(R.layout.regulatory_info, null)
|
||||
val image = view.findViewById<ImageView>(R.id.regulatoryInfo)
|
||||
val image = view.requireViewById<ImageView>(R.id.regulatoryInfo)
|
||||
image.setImageDrawable(it)
|
||||
builder.setView(view)
|
||||
builder.show()
|
||||
|
@@ -106,8 +106,8 @@ class FingerprintSettingsRenameDialog : InstrumentedDialogFragment() {
|
||||
val dialog = FingerprintSettingsRenameDialog()
|
||||
val onClick =
|
||||
DialogInterface.OnClickListener { _, _ ->
|
||||
val dialogTextField =
|
||||
dialog.requireDialog().findViewById(R.id.fingerprint_rename_field) as ImeAwareEditText
|
||||
val dialogTextField = dialog.requireDialog()
|
||||
.requireViewById(R.id.fingerprint_rename_field) as ImeAwareEditText
|
||||
val newName = dialogTextField.text.toString()
|
||||
if (!TextUtils.equals(newName, fp.name)) {
|
||||
Log.d(TAG, "rename $fp.name to $newName for $dialog")
|
||||
|
@@ -205,8 +205,8 @@ class FingerprintEnrollIntroFragment : Fragment() {
|
||||
private fun getDescriptionDisabledByAdmin(context: Context): String? {
|
||||
val defaultStrId: Int =
|
||||
R.string.security_settings_fingerprint_enroll_introduction_message_unlock_disabled
|
||||
val devicePolicyManager: DevicePolicyManager = requireActivity()
|
||||
.getSystemService(DevicePolicyManager::class.java)
|
||||
val devicePolicyManager: DevicePolicyManager =
|
||||
checkNotNull(requireActivity().getSystemService(DevicePolicyManager::class.java))
|
||||
|
||||
return devicePolicyManager.resources.getString(FINGERPRINT_UNLOCK_DISABLED) {
|
||||
context.getString(defaultStrId)
|
||||
@@ -234,7 +234,7 @@ class FingerprintEnrollIntroFragment : Fragment() {
|
||||
else
|
||||
View.INVISIBLE
|
||||
|
||||
view!!.findViewById<TextView>(R.id.error_text).let {
|
||||
view!!.requireViewById<TextView>(R.id.error_text).let {
|
||||
when (status.enrollableStatus) {
|
||||
FINGERPRINT_ENROLLABLE_OK -> {
|
||||
it.text = null
|
||||
|
@@ -95,10 +95,10 @@ class SimEidPreferenceController(context: Context, preferenceKey: String) :
|
||||
WindowManager.LayoutParams.FLAG_SECURE
|
||||
)
|
||||
dialog.setCanceledOnTouchOutside(false)
|
||||
val textView = dialog.findViewById<TextView>(R.id.esim_id_value)
|
||||
val textView = dialog.requireViewById<TextView>(R.id.esim_id_value)
|
||||
textView.text = PhoneNumberUtil.expandByTts(eid)
|
||||
|
||||
val qrCodeView = dialog.findViewById<ImageView>(R.id.esim_id_qrcode)
|
||||
val qrCodeView = dialog.requireViewById<ImageView>(R.id.esim_id_qrcode)
|
||||
qrCodeView.setImageBitmap(getEidQrCode(eid))
|
||||
|
||||
// After "Tap to show", eid is displayed on preference.
|
||||
|
@@ -81,7 +81,7 @@ class FullScreenIntentPermissionPreferenceController(
|
||||
private fun isPermissionRequested(): Boolean {
|
||||
val packageInfo = packageManager.getPackageInfo(packageName, GET_PERMISSIONS)
|
||||
|
||||
for (requestedPermission in packageInfo.requestedPermissions) {
|
||||
for (requestedPermission in packageInfo.requestedPermissions.orEmpty()) {
|
||||
if (USE_FULL_SCREEN_INTENT.equals(requestedPermission)) {
|
||||
return true
|
||||
}
|
||||
@@ -115,4 +115,4 @@ class FullScreenIntentPermissionPreferenceController(
|
||||
const val KEY_FSI_PERMISSION = "fsi_permission"
|
||||
const val TAG = "FsiPermPrefController"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -65,7 +65,7 @@ abstract class RemoteAuthEnrollBase(
|
||||
abstract fun initializeSecondaryFooterButton(): FooterButton?
|
||||
|
||||
private fun initializeFooterbarMixin(view: View) {
|
||||
val footerBarMixin = getGlifLayout(view).getMixin(FooterBarMixin::class.java)
|
||||
val footerBarMixin = checkNotNull(getGlifLayout(view)).getMixin(FooterBarMixin::class.java)
|
||||
primaryFooterButton.also { footerBarMixin.primaryButton = it }
|
||||
secondaryFooterButton?.also { footerBarMixin.secondaryButton = it }
|
||||
footerBarMixin.getButtonContainer().setBackgroundColor(getBackgroundColor())
|
||||
@@ -80,4 +80,4 @@ abstract class RemoteAuthEnrollBase(
|
||||
private companion object{
|
||||
const val TAG = "RemoteAuthEnrollBase"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -38,13 +38,15 @@ import com.android.settings.R
|
||||
import com.android.settingslib.widget.LottieColorUtils
|
||||
|
||||
class IntroductionImageCarousel : ConstraintLayout {
|
||||
private val carousel: ViewPager2 by lazy { findViewById<ViewPager2>(R.id.image_carousel) }
|
||||
private val carousel: ViewPager2 by lazy { requireViewById<ViewPager2>(R.id.image_carousel) }
|
||||
private val progressIndicator: RecyclerView by lazy {
|
||||
findViewById<RecyclerView>(R.id.carousel_progress_indicator)
|
||||
requireViewById<RecyclerView>(R.id.carousel_progress_indicator)
|
||||
}
|
||||
private val backArrow: ImageView by lazy {
|
||||
requireViewById<ImageView>(R.id.carousel_back_arrow)
|
||||
}
|
||||
private val backArrow: ImageView by lazy { findViewById<ImageView>(R.id.carousel_back_arrow) }
|
||||
private val forwardArrow: ImageView by lazy {
|
||||
findViewById<ImageView>(R.id.carousel_forward_arrow)
|
||||
requireViewById<ImageView>(R.id.carousel_forward_arrow)
|
||||
}
|
||||
private val progressIndicatorAdapter = ProgressIndicatorAdapter()
|
||||
// The index of the current animation we are on
|
||||
@@ -156,4 +158,4 @@ class IntroductionImageCarousel : ConstraintLayout {
|
||||
)
|
||||
const val TAG = "RemoteAuthCarousel"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -71,7 +71,7 @@ class RemoteAuthEnrollIntroduction :
|
||||
}
|
||||
|
||||
private fun initializeRequireScrollMixin(view: View) {
|
||||
val layout = getGlifLayout(view)
|
||||
val layout = checkNotNull(getGlifLayout(view))
|
||||
secondaryFooterButton?.visibility = View.INVISIBLE
|
||||
val requireScrollMixin = layout.getMixin(RequireScrollMixin::class.java)
|
||||
requireScrollMixin.requireScrollWithButton(requireContext(), primaryFooterButton,
|
||||
@@ -89,4 +89,4 @@ class RemoteAuthEnrollIntroduction :
|
||||
private companion object {
|
||||
const val TAG = "RemoteAuthEnrollIntro"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -45,7 +45,7 @@ private class AppButtonsPresenter(private val packageInfoPresenter: PackageInfoP
|
||||
@Composable
|
||||
fun getActionButtons() =
|
||||
packageInfoPresenter.flow.collectAsStateWithLifecycle(initialValue = null).value?.let {
|
||||
getActionButtons(it.applicationInfo)
|
||||
getActionButtons(checkNotNull(it.applicationInfo))
|
||||
} ?: emptyList()
|
||||
|
||||
@Composable
|
||||
|
@@ -118,7 +118,7 @@ object AppInfoSettingsProvider : SettingsPageProvider {
|
||||
private fun AppInfoSettings(packageInfoPresenter: PackageInfoPresenter) {
|
||||
LifecycleEffect(onStart = { packageInfoPresenter.reloadPackageInfo() })
|
||||
val packageInfo = packageInfoPresenter.flow.collectAsStateWithLifecycle().value ?: return
|
||||
val app = packageInfo.applicationInfo
|
||||
val app = checkNotNull(packageInfo.applicationInfo)
|
||||
RegularScaffold(
|
||||
title = stringResource(R.string.application_info_label),
|
||||
actions = {
|
||||
|
@@ -41,7 +41,7 @@ private class CloneAppButtonsPresenter(private val packageInfoPresenter: Package
|
||||
@Composable
|
||||
fun getActionButtons() =
|
||||
packageInfoPresenter.flow.collectAsStateWithLifecycle(initialValue = null).value?.let {
|
||||
getActionButtons(it.applicationInfo)
|
||||
getActionButtons(checkNotNull(it.applicationInfo))
|
||||
} ?: emptyList()
|
||||
|
||||
@Composable
|
||||
|
@@ -77,7 +77,7 @@ class PackageInfoPresenter(
|
||||
DisposableBroadcastReceiverAsUser(intentFilter, userHandle) { intent ->
|
||||
if (packageName == intent.data?.schemeSpecificPart) {
|
||||
val packageInfo = flow.value
|
||||
if (packageInfo != null && packageInfo.applicationInfo.isSystemApp) {
|
||||
if (packageInfo != null && packageInfo.applicationInfo?.isSystemApp == true) {
|
||||
// System app still exists after uninstalling the updates, refresh the page.
|
||||
reloadPackageInfo()
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user