* Rename variables/arguments to clarify that we are working with policy
flags, meaning that there can be multiple policies described by a
uid policy, not just one.
* When checking policies for a policy flag, do a proper flag check,
rather than a direct comparison that assumes one single policy.
* Only alter the displayed setting for the "Background network access"
and "Unrestricted mobile data usage" toggles in response to underlying
policy changes, to ensure their state represents the current reality.
* Add a couple explanatory comments.
Test: Manual: Install an app that does not have INTERNET permission.
Open the "Unrestricted mobile data" page of Settings. Try to activate
the toggle for such an app. The toggle should activate successfully
without needing to be tapped twice.
Issue: calyxos#2547
Change-Id: I9f2f028be4a21158a68c60982253d85586f60cdb
Log:
12:52:01.470 3086 5008 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
03-31 12:52:01.470 3086 5008 E AndroidRuntime: Process: com.android.settings, PID: 3086
03-31 12:52:01.470 3086 5008 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at androidx.loader.content.ModernAsyncTask$2.done(ModernAsyncTask.java:119)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:434)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:303)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:322)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at java.lang.Thread.run(Thread.java:1119)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: Volume external_primary not found
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:153)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at android.content.ContentProviderProxy.query(ContentProviderNative.java:495)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at android.content.ContentResolver.query(ContentResolver.java:1229)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at com.android.settings.deviceinfo.storage.StorageAsyncLoader.getFilesSize(StorageAsyncLoader.java:143)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at com.android.settings.deviceinfo.storage.StorageAsyncLoader.getStorageResultsForUsers(StorageAsyncLoader.java:93)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at com.android.settings.deviceinfo.storage.StorageAsyncLoader.loadInBackground(StorageAsyncLoader.java:76)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at com.android.settings.deviceinfo.storage.StorageAsyncLoader.loadInBackground(StorageAsyncLoader.java:55)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at androidx.loader.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:289)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at androidx.loader.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:57)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at androidx.loader.content.ModernAsyncTask$1.call(ModernAsyncTask.java:96)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:317)
03-31 12:52:01.470 3086 5008 E AndroidRuntime: ... 3 more
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
* We have customization for 3 buttons included here.
* Instead hide "Gesture Navigation" if config_swipe_up_gesture_setting_available is disabled.
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
* settings: Improve RAM summary formatting to show one decimal place
* settings: Update RAM formatting to use gigabytes with no decimal places + base 10 units for closer accuracy to advertised RAM sizes
Log:
time: 1740837422345
msg: java.lang.NullPointerException: Attempt to read from field 'java.lang.String[] android.net.TetheringConfigurationParcel.tetherableWifiRegexs' on a null object reference in method 'java.lang.String[] android.net.TetheringManager.getTetherableWifiRegexs()'
stacktrace: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.Settings$WifiTetherSettingsActivity}: java.lang.NullPointerException: Attempt to read from field 'java.lang.String[] android.net.TetheringConfigurationParcel.tetherableWifiRegexs' on a null object reference in method 'java.lang.String[] android.net.TetheringManager.getTetherableWifiRegexs()'
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4129)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4316)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:222)
at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:133)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:103)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:80)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2719)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8787)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:871)
Caused by: java.lang.NullPointerException: Attempt to read from field 'java.lang.String[] android.net.TetheringConfigurationParcel.tetherableWifiRegexs' on a null object reference in method 'java.lang.String[] android.net.TetheringManager.getTetherableWifiRegexs()'
at android.net.TetheringManager.getTetherableWifiRegexs(TetheringManager.java:1637)
at com.android.settings.wifi.tether.WifiTetherBasePreferenceController.<init>(WifiTetherBasePreferenceController.java:50)
at com.android.settings.wifi.tether.WifiTetherSSIDPreferenceController.<init>(WifiTetherSSIDPreferenceController.java:59)
at com.android.settings.wifi.tether.WifiTetherSettings.buildPreferenceControllers(WifiTetherSettings.java:295)
at com.android.settings.wifi.tether.WifiTetherSettings.createPreferenceControllers(WifiTetherSettings.java:289)
at com.android.settings.dashboard.DashboardFragment.onAttach(DashboardFragment.java:127)
at com.android.settings.wifi.tether.WifiTetherSettings.onAttach(WifiTetherSettings.java:206)
at androidx.fragment.app.Fragment.performAttach(Fragment.java:3075)
at androidx.fragment.app.FragmentStateManager.attach(FragmentStateManager.java:510)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:279)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2211)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2106)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2049)
at androidx.fragment.app.FragmentManager.executePendingTransactions(FragmentManager.java:779)
at com.android.settings.SettingsActivity.switchToFragment(SettingsActivity.java:723)
at com.android.settings.SettingsActivity.launchSettingFragment(SettingsActivity.java:515)
at com.android.settings.SettingsActivity.createUiFromIntent(SettingsActivity.java:324)
at com.android.settings.SettingsActivity.onCreate(SettingsActivity.java:283)
at android.app.Activity.performCreate(Activity.java:9019)
at android.app.Activity.performCreate(Activity.java:8997)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1532)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4111)
... 13 more
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
This fixes lens & CTS for vanilla users with full GSA installed.
While not enabling it for users who only have the stub.
Check if the activity exists to achieve that.
Same as we do in L3, see: cd4c6afd5b
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
This allows Inter Dynamic Metrics to take effect.
Change-Id: I587d2b94bba73e3c6f85b421e655a3285da6c01b
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Log:
Output:
packages/apps/Settings/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java:35: error: Schema export directory was not provided to the annotation processor so Room cannot export the schema. You can either provide `room.schemaLocation` annotation processor argument by applying the Room Gradle plugin (id 'androidx.room') OR set exportSchema to false.
public abstract class BatteryStateDatabase extends RoomDatabase {
^
Change-Id: I493d978ee204761e93fb177680bd102c30b45e9c
Right below the icon and the app name
We won't show the version name there since it wouldn't be copy-able.
Change-Id: If301986194a609384af5519b5990e62a86e605d7