Add sim status listener in about phone to dynamiclly update sim status and phone number info when sim card hot-swap.
Change-Id: Iee69f34ca85225ea6286f5ba517681b42366a71c
CRs-Fixed: 2978481
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
This seems kinda empty... Fill it with fun stuff
Change-Id: Ia43cb31b7567bed07f2b8a1d8637de4e66320c90
[jaysonedson@gmail.com: Move to new HardwareInfo]
Signed-off-by: Jason Edson <jaysonedson@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
There's a "Clear storage" button in App info > Storage & cache. When app implements a "manage
storage space" activity, that button opens it instead of actually clearing the storage.
"Manage space" activity might not provide an option to clear app storage or it might not work at
all.
This change adds a separate button to launch that activity and makes the "Clear storage" button
ignore its presence.
Log:
10-26 18:12:35.963 22151 22151 E AndroidRuntime: FATAL EXCEPTION: main
10-26 18:12:35.963 22151 22151 E AndroidRuntime: Process: com.android.settings, PID: 22151
10-26 18:12:35.963 22151 22151 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.clearAnimation()' on a null object reference
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at com.android.settings.widget.LoadingViewController.setViewShown(LoadingViewController.java:154)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at com.android.settings.widget.LoadingViewController.handleLoadingContainer(LoadingViewController.java:107)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at com.android.settings.SettingsPreferenceFragment.setLoading(SettingsPreferenceFragment.java:226)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at com.android.settings.wifi.tether.WifiTetherSettings.onRestartingChanged(WifiTetherSettings.java:340)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at com.android.settings.wifi.tether.WifiTetherSettings$$ExternalSyntheticLambda5.onChanged(R8$$SyntheticClass:0)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:146)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:483)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged(LiveData.java:440)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.jvm.kt:320)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.jvm.kt:257)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.jvm.kt:293)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.jvm.kt:142)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.jvm.kt:124)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.fragment.app.Fragment.performStart(Fragment.java:3193)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:640)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:296)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1663)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3247)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.fragment.app.FragmentManager.dispatchStart(FragmentManager.java:3172)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.fragment.app.FragmentController.dispatchStart(FragmentController.java:274)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:358)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1705)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.app.Activity.performStart(Activity.java:9045)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4074)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:270)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:250)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:222)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:107)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2637)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:107)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:232)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.os.Looper.loop(Looper.java:317)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8751)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
10-26 18:12:35.963 22151 22151 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:892)
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Wellbeing apk still provides Android 11 style settings icon
when an icon pack is set. It consists of a layer-list with
circle shape and drawable, so fetch the drawable to make
it work with Android 12 settings.
Change-Id: I78be2db9dc8ca262e61fdb13b93da007c3a6eb81
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Test: Launch an app from work profile, play some music and see
the app icon can now be properly displayed in the panel.
Change-Id: I76db52d78ddf0850a4229b5bd3557829d0cdbf98
Signed-off-by: cjybyjk <cjybyjk@zjnu.edu.cn>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
frap129: Reworked for Pie, set default scale to 0.5f, and improved
the preference summaries so they match AOSP while keeping translations.
Change-Id: I29d89e532d07a325f6e568b21e4da4ce7e5761ac
Signed-off-by: Joe Maples <joe@frap129.org>
[jaysonedson: Fix fc when not using English and preference]
Signed-off-by: Jason Edson <jaysonedson@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
AOSP does not have help URIs configured, so there is no relevant content
to show in the private DNS dialog's help text section, and the preference
controller never sets the content of the help text view. This results in
a random irrelevant message related to Bluetooth audio being shown in
the dialog: "Gray-out means not supported by phone or headset"
This is caused by the private DNS dialog sharing the
preference_widget_dialog_summary snippet with Bluetooth A2DP codec
settings. To fix this issue, we can hide the help text view entirely if
there is no help URI defined.
Change-Id: Ie74a1be347351a6db68412321d0c68f3138fae6b
Signed-off-by: Joey Huab <joey@evolution-x.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Before you could only click once to see the full kernel version and if
you wanted it to go back to the short version, you had to exit the fragment.
Now you can click between the two (short and long).
Change-Id: I6f89d6b145d5cc7b9cca6febc3651904b98da80c
Signed-off-by: Joey Huab <joey@evolution-x.org>
patch set 2: view unformatted kernel version on clicking
the formatted kernel version
[ Stallix - Evo X ]
* Adapted for KernelVersionPreferenceController on Pie
Change-Id: I2b211fb72c25cc119f2a464b04821fcef77a8908
Signed-off-by: Arghya Chanda <arghyac35@gmail.com>
Signed-off-by: SagarMakhar <sagarmakhar@gmail.com>
Signed-off-by: Joey Huab <joey@evolution-x.org>
Signed-off-by: AnierinB <anierin@evolution-x.org>
Android security 16.0.0 release 3
* tag 'android-security-16.0.0_r3':
Import translations. DO NOT MERGE ANYWHERE
Backport BT pairing dialog changes
[nfc] Fix string injection in default payment app selector
Add check to prevent privilege escalation from trampoline added in change Ie469c47005afb941f5646a2f790736362c23c697.
Hide sensistive content from locked profiles
Prevent SettingsSliceProvider from accessing unused packages
Ignore face settings extras when called by an external package.
startActivityForResult with earlier new Intent
Hide notification content in history
Use correct API to get calling package name in CredentialStorage
Drop PendingIntent extras from external packages during enrollment.
Do not enable the Content Protection toggle for non-admin users.
Add ComponentName explicitly to make sure arbitary intents aren't launched from Settings.
AppRestrictions - use vetted component
Add battery health tip
Change-Id: Ifbcbfcc5e95e3b69085c9c7f795914ec21b4d0a9
This is a combination of two commits against b/409868905, merged for
backport convenience. It updates the string and button style for the BT
pairing dialog.
Bug: 236134583
Bug: 236134775
Test: local tested
Flag: EXEMPT minor style update
Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:22378fd5a1bb2ca8d63f5df4e47c0af218c66a57
Merged-In: Icd9f509b5363b3ec3900738e21486e54d4e66e4b
Change-Id: Icd9f509b5363b3ec3900738e21486e54d4e66e4b
New one seems halfbaked? The UDFPS icon is misaligned when using it and
progress circle is missing.
Change-Id: I19d0a1ff973d79381f0f315469c823afedde9c02
* 'android16-security-release' of https://android.googlesource.com/platform/packages/apps/Settings:
Hide sensistive content from locked profiles
Ignore face settings extras when called by an external package.
startActivityForResult with earlier new Intent
Use correct API to get calling package name in CredentialStorage
Prevent SettingsSliceProvider from accessing unused packages
Hide notification content in history
Do not enable the Content Protection toggle for non-admin users.
Add ComponentName explicitly to make sure arbitary intents aren't launched from Settings.
AppRestrictions - use vetted component
Drop PendingIntent extras from external packages during enrollment.
Change-Id: I2e6b262a366c24202897f3e040825f9e41d31a02
'Start SettingsDumpService after the MobileNetworkRepository is
created' sends the intent every single time the
NetworkDashboardFragment is instantiated (basically every time user
opens the network dashboard in Settings).
SettingsDumpService's lifecycle never finishes, since it's context is
passed to the MobileNetworkRepository for singleton instance creation
which then proceeds to holding a reference to that context thus keeping
the entire service alive along with the application process, which
prevents the static singleton from being garbage collected creating an
indirect retention cycle. All that over time grows into a solid memory
leak.
SettingsDumpService (as well as MobileNetworkRepository instance,
obviously) proceed to dangling until the app process gets eventually
killed by the lmkd (which is unlikely to happen but still was observed
on several devices running stock ROM) or manually terminated by user,
but based on the observation, maximum time of dangling could be
perfectly equal to global system uptime.
This issue still remains all the way up to latest AOSP tags and betas,
although some vendors stock ROMs seem to have sorted it out.
Since we don't really care about dumping mobile network info
(especially in production builds), do the minimum changes required to
remove the dumping feature and avoid future AOSP merge conflicts.
This partially reverts commit d6f3ad9178.
Change-Id: Ifd7ded6cebd5f247cbdeb88035fdeb21cf060412
This is a sed gone wrong.
It was unintentionally changed in 15ca95a31b
which broke functionality.
Change it to a SwitchPreferenceCompat instead of changing it back
to a SwitchPreference, as all the other preferences in the
development section are one as well.
Change-Id: Id276d3b67c103b83ba01a69ff2991246c69efc69
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
mIsInSetupWizard was moved to top of NetworkProviderSetting's onCreate
so it is available for addPreferences().
Change-Id: I9299c3033e96bcd30450ec239f14fb5daa800d63
When help_url_battery_defender is empty, tapping on Learn more button
causes a NPE.
Issue: calyxos#2809
Change-Id: Ib1c52dcff430cae7c4bc0793120ace837f5bf4c7
Stop removing preexisting UID policies when toggling
Background network access / unrestricted data usage.
Fetching the state of policies was not working due to an incorrect use
of Arrays.asList() - if you give it an int array, you just get a list
with that int[] as a single element, so using the contains method with
an int will always return false. This has now all been refactored.
Test: Manual: Open Settings > Network & Internet > Data Saver >
Unrestricted data. Turn it on for something. Go back, and then
return to the page. It should still show as on.
Issue: calyxos#2547
Issue: calyxos#2118
Change-Id2: I671544f6fdf9897484c6265c31c8b3cd29ad4a92
Change-Id: If54d0a0925c5da0f3d519d0a85491ff3b7b62351
... in the same category as Security & privacy
... with an approach that can be reused for other keys in the future
Co-authored-by: AnierinB <anierin@evolution-x.org>
Change-Id: I666ebd7f90c11f1836bac10f7fca38baa5aedf93
On new revamped Settings UX dashboard is missing styling for GMS top
level activities. This is fixed by assigning them respective categories.
Change-Id: I5f18fab2419c8346760c4f6bed6f77e1eac8e059
Signed-off-by: shoya0x00 <shoya0x00@users.noreply.github.com>