From 07c15d313179eea0f7ab5a9ee7911ec54601125f Mon Sep 17 00:00:00 2001 From: Arturo Mejia Date: Mon, 22 Mar 2021 10:49:38 -0400 Subject: [PATCH] For #18553 Revert "Target Android 11" This reverts commit 0e8dc616 --- app/build.gradle | 17 +++++++++++++---- app/src/main/AndroidManifest.xml | 1 + .../main/java/org/mozilla/fenix/ext/Activity.kt | 2 -- .../fenix/search/SearchDialogFragment.kt | 13 ++++--------- .../PerformanceActivityLifecycleCallbacks.kt | 12 ++++++------ .../session/VisibilityLifecycleCallback.kt | 14 +++++++------- .../SitePermissionsDetailsExceptionsFragment.kt | 4 ++-- .../SitePermissionsExceptionsFragment.kt | 4 ++-- ...sionsManageExceptionsPhoneFeatureFragment.kt | 4 ++-- .../org/mozilla/fenix/share/ShareViewModel.kt | 4 ++-- .../fenix/tabtray/TabTrayDialogFragment.kt | 4 ---- .../org/mozilla/fenix/theme/ThemeManager.kt | 9 +-------- .../mozilla/fenix/wifi/WifiConnectionMonitor.kt | 4 ++-- .../java/org/mozilla/fenix/ext/ActivityTest.kt | 2 -- buildSrc/src/main/java/Config.kt | 4 ++-- 15 files changed, 44 insertions(+), 54 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index da5d7bfdf..6ef77b99f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -58,7 +58,8 @@ android { def deepLinkSchemeValue = "fenix-dev" buildConfigField "String", "DEEP_LINK_SCHEME", "\"$deepLinkSchemeValue\"" manifestPlaceholders = [ - "deepLinkScheme": deepLinkSchemeValue + "deepLinkScheme": deepLinkSchemeValue, + "requestLegacyExternalStorage": true ] // Build flag for "Mozilla Online" variants. See `Config.isMozillaOnline`. @@ -93,13 +94,19 @@ android { applicationIdSuffix ".fenix.debug" resValue "bool", "IS_DEBUG", "true" pseudoLocalesEnabled true + def deepLinkSchemeValue = "fenix-dev" + buildConfigField "String", "DEEP_LINK_SCHEME", "\"$deepLinkSchemeValue\"" + manifestPlaceholders = [ + "deepLinkScheme": deepLinkSchemeValue, + "requestLegacyExternalStorage": false + ] } nightly releaseTemplate >> { applicationIdSuffix ".fenix" buildConfigField "boolean", "USE_RELEASE_VERSIONING", "true" def deepLinkSchemeValue = "fenix-nightly" buildConfigField "String", "DEEP_LINK_SCHEME", "\"$deepLinkSchemeValue\"" - manifestPlaceholders = ["deepLinkScheme": deepLinkSchemeValue] + manifestPlaceholders = ["deepLinkScheme": deepLinkSchemeValue, "requestLegacyExternalStorage": false] } beta releaseTemplate >> { buildConfigField "boolean", "USE_RELEASE_VERSIONING", "true" @@ -115,7 +122,8 @@ android { // - https://issuetracker.google.com/issues/36924841 // - https://issuetracker.google.com/issues/36905922 "sharedUserId": "org.mozilla.firefox.sharedID", - "deepLinkScheme": deepLinkSchemeValue + "deepLinkScheme": deepLinkSchemeValue, + "requestLegacyExternalStorage": true ] } release releaseTemplate >> { @@ -132,7 +140,8 @@ android { // - https://issuetracker.google.com/issues/36924841 // - https://issuetracker.google.com/issues/36905922 "sharedUserId": "org.mozilla.firefox.sharedID", - "deepLinkScheme": deepLinkSchemeValue + "deepLinkScheme": deepLinkSchemeValue, + "requestLegacyExternalStorage": true ] } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e6e371cff..bed4aa10b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -27,6 +27,7 @@ android:allowBackup="false" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" + android:requestLegacyExternalStorage="${requestLegacyExternalStorage}" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/NormalTheme" diff --git a/app/src/main/java/org/mozilla/fenix/ext/Activity.kt b/app/src/main/java/org/mozilla/fenix/ext/Activity.kt index 3f70af653..b4de8ce49 100644 --- a/app/src/main/java/org/mozilla/fenix/ext/Activity.kt +++ b/app/src/main/java/org/mozilla/fenix/ext/Activity.kt @@ -29,8 +29,6 @@ import mozilla.components.concept.base.crash.Breadcrumb ) fun Activity.enterToImmersiveMode() { window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) - // This will be addressed on https://github.com/mozilla-mobile/fenix/issues/17804 - @Suppress("DEPRECATION") window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt index 32ca97d5f..34d2f3ccf 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt @@ -13,8 +13,7 @@ import android.content.Intent import android.graphics.Color import android.graphics.Typeface import android.graphics.drawable.ColorDrawable -import android.os.Build.VERSION -import android.os.Build.VERSION_CODES +import android.os.Build import android.os.Bundle import android.speech.RecognizerIntent import android.text.style.StyleSpan @@ -90,8 +89,7 @@ class SearchDialogFragment : AppCompatDialogFragment(), UserInteractionHandler { // https://github.com/mozilla-mobile/fenix/issues/14279 // To prevent GeckoView from resizing we're going to change the softInputMode to not adjust // the size of the window. - if (VERSION.SDK_INT < VERSION_CODES.R) - requireActivity().window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING) + requireActivity().window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING) // Refocus the toolbar editing and show keyboard if the QR fragment isn't showing if (childFragmentManager.findFragmentByTag(QR_FRAGMENT_TAG) == null) { toolbarView.view.edit.focus() @@ -102,10 +100,7 @@ class SearchDialogFragment : AppCompatDialogFragment(), UserInteractionHandler { super.onStop() // https://github.com/mozilla-mobile/fenix/issues/14279 // Let's reset back to the default behavior after we're done searching - // This will be addressed on https://github.com/mozilla-mobile/fenix/issues/17805 - @Suppress("DEPRECATION") - if (VERSION.SDK_INT < VERSION_CODES.R) - requireActivity().window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) + requireActivity().window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) } override fun onCreate(savedInstanceState: Bundle?) { @@ -349,7 +344,7 @@ class SearchDialogFragment : AppCompatDialogFragment(), UserInteractionHandler { private fun updateAccessibilityTraversalOrder() { val searchWrapperId = search_wrapper.id - if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP_MR1) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) { qr_scan_button.accessibilityTraversalAfter = searchWrapperId search_engines_shortcut_button.accessibilityTraversalAfter = searchWrapperId fill_link_from_clipboard.accessibilityTraversalAfter = searchWrapperId diff --git a/app/src/main/java/org/mozilla/fenix/session/PerformanceActivityLifecycleCallbacks.kt b/app/src/main/java/org/mozilla/fenix/session/PerformanceActivityLifecycleCallbacks.kt index c46c08b5e..6f46fb997 100644 --- a/app/src/main/java/org/mozilla/fenix/session/PerformanceActivityLifecycleCallbacks.kt +++ b/app/src/main/java/org/mozilla/fenix/session/PerformanceActivityLifecycleCallbacks.kt @@ -59,12 +59,12 @@ class PerformanceActivityLifecycleCallbacks( } } - override fun onActivityStarted(activity: Activity) {} - override fun onActivityStopped(activity: Activity) {} - override fun onActivityResumed(activity: Activity) {} - override fun onActivityPaused(activity: Activity) {} - override fun onActivitySaveInstanceState(activity: Activity, bundle: Bundle) {} - override fun onActivityDestroyed(activity: Activity) {} + override fun onActivityStarted(activity: Activity?) {} + override fun onActivityStopped(activity: Activity?) {} + override fun onActivityResumed(activity: Activity?) {} + override fun onActivityPaused(activity: Activity?) {} + override fun onActivitySaveInstanceState(activity: Activity?, bundle: Bundle?) {} + override fun onActivityDestroyed(activity: Activity?) {} companion object { /** diff --git a/app/src/main/java/org/mozilla/fenix/session/VisibilityLifecycleCallback.kt b/app/src/main/java/org/mozilla/fenix/session/VisibilityLifecycleCallback.kt index b8230946c..131bfbd73 100644 --- a/app/src/main/java/org/mozilla/fenix/session/VisibilityLifecycleCallback.kt +++ b/app/src/main/java/org/mozilla/fenix/session/VisibilityLifecycleCallback.kt @@ -44,23 +44,23 @@ class VisibilityLifecycleCallback(private val activityManager: ActivityManager?) return false } - override fun onActivityStarted(activity: Activity) { + override fun onActivityStarted(activity: Activity?) { activitiesInStartedState++ } - override fun onActivityStopped(activity: Activity) { + override fun onActivityStopped(activity: Activity?) { activitiesInStartedState-- } - override fun onActivityResumed(activity: Activity) {} + override fun onActivityResumed(activity: Activity?) {} - override fun onActivityPaused(activity: Activity) {} + override fun onActivityPaused(activity: Activity?) {} - override fun onActivityCreated(activity: Activity, bundle: Bundle?) {} + override fun onActivityCreated(activity: Activity?, bundle: Bundle?) {} - override fun onActivitySaveInstanceState(activity: Activity, bundle: Bundle) {} + override fun onActivitySaveInstanceState(activity: Activity?, bundle: Bundle?) {} - override fun onActivityDestroyed(activity: Activity) {} + override fun onActivityDestroyed(activity: Activity?) {} companion object { /** diff --git a/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsDetailsExceptionsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsDetailsExceptionsFragment.kt index 6eefefffc..399d46ca8 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsDetailsExceptionsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsDetailsExceptionsFragment.kt @@ -130,11 +130,11 @@ class SitePermissionsDetailsExceptionsFragment : PreferenceFragmentCompat() { AlertDialog.Builder(requireContext()).apply { setMessage(R.string.confirm_clear_permissions_site) setTitle(R.string.clear_permissions) - setPositiveButton(android.R.string.ok) { dialog: DialogInterface, _ -> + setPositiveButton(android.R.string.yes) { dialog: DialogInterface, _ -> clearSitePermissions() dialog.dismiss() } - setNegativeButton(android.R.string.cancel) { dialog: DialogInterface, _ -> + setNegativeButton(android.R.string.no) { dialog: DialogInterface, _ -> dialog.cancel() } }.show() diff --git a/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsExceptionsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsExceptionsFragment.kt index 352b71150..2b73d4da2 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsExceptionsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsExceptionsFragment.kt @@ -95,11 +95,11 @@ class SitePermissionsExceptionsFragment : AlertDialog.Builder(requireContext()).apply { setMessage(R.string.confirm_clear_permissions_on_all_sites) setTitle(R.string.clear_permissions) - setPositiveButton(android.R.string.ok) { dialog: DialogInterface, _ -> + setPositiveButton(android.R.string.yes) { dialog: DialogInterface, _ -> deleteAllSitePermissions() dialog.dismiss() } - setNegativeButton(android.R.string.cancel) { dialog: DialogInterface, _ -> + setNegativeButton(android.R.string.no) { dialog: DialogInterface, _ -> dialog.cancel() } }.show() diff --git a/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManageExceptionsPhoneFeatureFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManageExceptionsPhoneFeatureFragment.kt index 97c4a63d3..dab4a76e8 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManageExceptionsPhoneFeatureFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManageExceptionsPhoneFeatureFragment.kt @@ -159,11 +159,11 @@ class SitePermissionsManageExceptionsPhoneFeatureFragment : Fragment() { AlertDialog.Builder(requireContext()).apply { setMessage(R.string.confirm_clear_permission_site) setTitle(R.string.clear_permission) - setPositiveButton(android.R.string.ok) { dialog: DialogInterface, _ -> + setPositiveButton(android.R.string.yes) { dialog: DialogInterface, _ -> clearPermissions() dialog.dismiss() } - setNegativeButton(android.R.string.cancel) { dialog: DialogInterface, _ -> + setNegativeButton(android.R.string.no) { dialog: DialogInterface, _ -> dialog.cancel() } }.show() diff --git a/app/src/main/java/org/mozilla/fenix/share/ShareViewModel.kt b/app/src/main/java/org/mozilla/fenix/share/ShareViewModel.kt index 29cd7c769..4fde40fce 100644 --- a/app/src/main/java/org/mozilla/fenix/share/ShareViewModel.kt +++ b/app/src/main/java/org/mozilla/fenix/share/ShareViewModel.kt @@ -47,8 +47,8 @@ class ShareViewModel(application: Application) : AndroidViewModel(application) { @VisibleForTesting internal val networkCallback = object : ConnectivityManager.NetworkCallback() { - override fun onLost(network: Network) = reloadDevices(network) - override fun onAvailable(network: Network) = reloadDevices(network) + override fun onLost(network: Network?) = reloadDevices(network) + override fun onAvailable(network: Network?) = reloadDevices(network) private fun reloadDevices(network: Network?) { viewModelScope.launch(ioDispatcher) { diff --git a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayDialogFragment.kt index 6bda59cf2..ef6f3fe70 100644 --- a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayDialogFragment.kt @@ -245,16 +245,12 @@ class TabTrayDialogFragment : AppCompatDialogFragment(), UserInteractionHandler } view.tabLayout.setOnApplyWindowInsetsListener { v, insets -> - // This will be addressed on https://github.com/mozilla-mobile/fenix/issues/17807 - @Suppress("DEPRECATION") v.updatePadding( left = insets.left(), right = insets.right(), bottom = insets.bottom() ) - // This will be addressed on https://github.com/mozilla-mobile/fenix/issues/17807 - @Suppress("DEPRECATION") tabTrayView.view.tab_wrapper.updatePadding( bottom = insets.bottom() ) diff --git a/app/src/main/java/org/mozilla/fenix/theme/ThemeManager.kt b/app/src/main/java/org/mozilla/fenix/theme/ThemeManager.kt index 38b8314bb..f39c8dd0f 100644 --- a/app/src/main/java/org/mozilla/fenix/theme/ThemeManager.kt +++ b/app/src/main/java/org/mozilla/fenix/theme/ThemeManager.kt @@ -76,8 +76,7 @@ abstract class ThemeManager { private fun updateLightSystemBars(window: Window, context: Context) { if (SDK_INT >= Build.VERSION_CODES.M) { window.statusBarColor = context.getColorFromAttr(android.R.attr.statusBarColor) - // This will be addressed on https://github.com/mozilla-mobile/fenix/issues/17808 - @Suppress("DEPRECATION") + window.decorView.systemUiVisibility = window.decorView.systemUiVisibility or SYSTEM_UI_FLAG_LIGHT_STATUS_BAR } else { @@ -86,8 +85,6 @@ abstract class ThemeManager { if (SDK_INT >= Build.VERSION_CODES.O) { // API level can display handle light navigation bar color - // This will be addressed on https://github.com/mozilla-mobile/fenix/issues/17808 - @Suppress("DEPRECATION") window.decorView.systemUiVisibility = window.decorView.systemUiVisibility or SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR updateNavigationBar(window, context) @@ -96,16 +93,12 @@ abstract class ThemeManager { private fun clearLightSystemBars(window: Window) { if (SDK_INT >= Build.VERSION_CODES.M) { - // This will be addressed on https://github.com/mozilla-mobile/fenix/issues/17808 - @Suppress("DEPRECATION") window.decorView.systemUiVisibility = window.decorView.systemUiVisibility and SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv() } if (SDK_INT >= Build.VERSION_CODES.O) { // API level can display handle light navigation bar color - // This will be addressed on https://github.com/mozilla-mobile/fenix/issues/17808 - @Suppress("DEPRECATION") window.decorView.systemUiVisibility = window.decorView.systemUiVisibility and SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR.inv() } diff --git a/app/src/main/java/org/mozilla/fenix/wifi/WifiConnectionMonitor.kt b/app/src/main/java/org/mozilla/fenix/wifi/WifiConnectionMonitor.kt index 4d3b636aa..4db646e12 100644 --- a/app/src/main/java/org/mozilla/fenix/wifi/WifiConnectionMonitor.kt +++ b/app/src/main/java/org/mozilla/fenix/wifi/WifiConnectionMonitor.kt @@ -34,12 +34,12 @@ class WifiConnectionMonitor(app: Application) { private var isRegistered = false private val frameworkListener = object : ConnectivityManager.NetworkCallback() { - override fun onLost(network: Network) { + override fun onLost(network: Network?) { notifyListeners(false) lastKnownStateWasAvailable = false } - override fun onAvailable(network: Network) { + override fun onAvailable(network: Network?) { notifyListeners(true) lastKnownStateWasAvailable = true } diff --git a/app/src/test/java/org/mozilla/fenix/ext/ActivityTest.kt b/app/src/test/java/org/mozilla/fenix/ext/ActivityTest.kt index 884e5bd5f..4d074780e 100644 --- a/app/src/test/java/org/mozilla/fenix/ext/ActivityTest.kt +++ b/app/src/test/java/org/mozilla/fenix/ext/ActivityTest.kt @@ -18,8 +18,6 @@ import org.robolectric.Shadows.shadowOf @RunWith(FenixRobolectricTestRunner::class) class ActivityTest { - // This will be addressed on https://github.com/mozilla-mobile/fenix/issues/17804 - @Suppress("DEPRECATION") @Test fun testEnterImmersiveMode() { val activity = Robolectric.buildActivity(Activity::class.java).create().get() diff --git a/buildSrc/src/main/java/Config.kt b/buildSrc/src/main/java/Config.kt index ff824ff74..236689878 100644 --- a/buildSrc/src/main/java/Config.kt +++ b/buildSrc/src/main/java/Config.kt @@ -13,9 +13,9 @@ import java.util.Locale object Config { // Synchronized build configuration for all modules - const val compileSdkVersion = 30 + const val compileSdkVersion = 29 const val minSdkVersion = 21 - const val targetSdkVersion = 30 + const val targetSdkVersion = 29 @JvmStatic private fun generateDebugVersionName(): String {