mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2025-01-23 22:01:08 -05:00
Various
- Add back the SIM ToolKit app - 17.1: CarrierConfig testing - 19.1: Enable op5 firmware inclusion, needs testing - Don't disable coresight bits on op8, breaks compile - 19.1: Add a patch from GrapheneOS to display/share logs when a crash happens Signed-off-by: Tad <tad@spotco.us>
This commit is contained in:
parent
411fcc08e1
commit
25568706e1
@ -28,7 +28,7 @@
|
||||
<remove-project name="LineageOS/android_packages_apps_Jelly" />
|
||||
<remove-project name="LineageOS/android_packages_apps_LockClock" />
|
||||
<remove-project name="LineageOS/android_packages_apps_OpenWeatherMapProvider" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Stk" />
|
||||
<!--<remove-project name="LineageOS/android_packages_apps_Stk" />-->
|
||||
<remove-project name="LineageOS/android_packages_apps_Terminal" />
|
||||
<remove-project name="LineageOS/android_packages_providers_PartnerBookmarksProvider" />
|
||||
<remove-project name="LineageOS/android_packages_providers_WeatherProvider" />
|
||||
|
@ -28,7 +28,7 @@
|
||||
<remove-project name="LineageOS/android_packages_apps_Jelly" />
|
||||
<remove-project name="LineageOS/android_packages_apps_LockClock" />
|
||||
<remove-project name="LineageOS/android_packages_apps_OpenWeatherMapProvider" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Stk" />
|
||||
<!--<remove-project name="LineageOS/android_packages_apps_Stk" />-->
|
||||
<remove-project name="LineageOS/android_packages_apps_Terminal" />
|
||||
<remove-project name="LineageOS/android_packages_providers_PartnerBookmarksProvider" />
|
||||
<remove-project name="LineageOS/android_packages_providers_WeatherProvider" />
|
||||
|
@ -27,7 +27,7 @@
|
||||
<remove-project name="LineageOS/android_packages_apps_Jelly" />
|
||||
<remove-project name="LineageOS/android_packages_apps_LockClock" />
|
||||
<remove-project name="LineageOS/android_packages_apps_OpenWeatherMapProvider" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Stk" />
|
||||
<!--<remove-project name="LineageOS/android_packages_apps_Stk" />-->
|
||||
<remove-project name="LineageOS/android_packages_apps_Terminal" />
|
||||
<remove-project name="LineageOS/android_packages_providers_PartnerBookmarksProvider" />
|
||||
<remove-project name="LineageOS/android_packages_providers_WeatherProvider" />
|
||||
|
@ -24,7 +24,7 @@
|
||||
<remove-project name="LineageOS/android_external_vim" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Eleven" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Jelly" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Stk" />
|
||||
<!--<remove-project name="LineageOS/android_packages_apps_Stk" />-->
|
||||
<remove-project name="LineageOS/android_packages_apps_Terminal" />
|
||||
<remove-project name="LineageOS/android_packages_providers_PartnerBookmarksProvider" />
|
||||
<remove-project name="LineageOS/android_packages_screensavers_Basic" />
|
||||
|
@ -26,7 +26,7 @@
|
||||
<remove-project name="LineageOS/android_external_vim" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Eleven" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Jelly" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Stk" />
|
||||
<!--<remove-project name="LineageOS/android_packages_apps_Stk" />-->
|
||||
<remove-project name="LineageOS/android_packages_providers_PartnerBookmarksProvider" />
|
||||
<remove-project name="LineageOS/android_packages_screensavers_Basic" />
|
||||
<remove-project name="LineageOS/android_packages_screensavers_PhotoTable" />
|
||||
|
@ -14,7 +14,7 @@
|
||||
<remove-project name="LineageOS/android_external_vim" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Eleven" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Jelly" />
|
||||
<remove-project name="LineageOS/android_packages_apps_Stk" />
|
||||
<!--<remove-project name="LineageOS/android_packages_apps_Stk" />-->
|
||||
<remove-project name="LineageOS/android_prebuilts_gcc_darwin-x86_aarch64_aarch64-linux-android-4.9" />
|
||||
<remove-project name="LineageOS/android_prebuilts_gcc_darwin-x86_arm_arm-linux-androideabi-4.9" />
|
||||
<remove-project name="LineageOS/android_prebuilts_gcc_darwin-x86_x86_x86_64-linux-android-4.9" />
|
||||
|
@ -4,9 +4,6 @@ QQ3A.200805.001.2020.09.11.14
|
||||
PQ3B.190801.002.2019.08.25.15
|
||||
|
||||
|
||||
show crash details
|
||||
12 https://github.com/GrapheneOS/platform_frameworks_base/commit/e740f4b78344c5671d022dfe90bed9e2dacd3db6
|
||||
|
||||
https time
|
||||
12 https://github.com/GrapheneOS/platform_frameworks_base/commit/1d4e3f495b7b544f6314f04243e9d47b3f8e7102
|
||||
12 https://github.com/GrapheneOS/platform_frameworks_base/commit/2c04a077ec9f3ac6857885199f49f4845b70ec2e
|
||||
@ -66,6 +63,9 @@ nojit
|
||||
9 https://github.com/GrapheneOS/platform_build/commit/5b9927197e63593b9220d1a9280021252ef205e9
|
||||
9 https://github.com/GrapheneOS/platform_build/commit/e36c7aefaa78a1ed5b94c7f51d29277008eea232
|
||||
|
||||
[implemented] show crash details
|
||||
12 https://github.com/GrapheneOS/platform_frameworks_base/commit/e740f4b78344c5671d022dfe90bed9e2dacd3db6
|
||||
|
||||
[implemented] monet toggle
|
||||
12 https://github.com/GrapheneOS/platform_frameworks_base/commit/e77f8f544c8c6e826d8497be6ebbc69d72d2f1a5
|
||||
12 https://github.com/GrapheneOS/platform_packages_apps_ThemePicker/commit/a287544b550887ea646277d78cde80b19e1ca9af
|
||||
|
55
Misc/captive_portal_toggle-19.1-err
Normal file
55
Misc/captive_portal_toggle-19.1-err
Normal file
@ -0,0 +1,55 @@
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.SubSettings}: java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.preference.Preference.setOnPreferenceChangeListener(androidx.preference.Preference$OnPreferenceChangeListener)' on a null object reference
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3707)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3864)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2253)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7870)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1019)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.preference.Preference.setOnPreferenceChangeListener(androidx.preference.Preference$OnPreferenceChangeListener)' on a null object reference
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settingslib.core.AbstractPreferenceController.displayPreference(AbstractPreferenceController.java:37)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.lambda$displayResourceTilesToScreen$7(DashboardFragment.java:339)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.$r8$lambda$7KgqziyHu5rnhM8JHZ4buqOlhzM(Unknown Source:0)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment$$ExternalSyntheticLambda2.accept(Unknown Source:4)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1390)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:604)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:283)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.Iterator.forEachRemaining(Iterator.java:116)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:475)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:133)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:236)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:435)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.displayResourceTilesToScreen(DashboardFragment.java:338)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.displayResourceTiles(DashboardFragment.java:330)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.refreshAllPreferences(DashboardFragment.java:431)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.onCreatePreferences(DashboardFragment.java:182)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.network.NetworkDashboardFragment.onCreatePreferences(NetworkDashboardFragment.java:76)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at androidx.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:161)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settingslib.core.lifecycle.ObservablePreferenceFragment.onCreate(ObservablePreferenceFragment.java:61)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.SettingsPreferenceFragment.onCreate(SettingsPreferenceFragment.java:126)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.onCreate(DashboardFragment.java:150)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at androidx.fragment.app.Fragment.performCreate(Fragment.java:2939)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:451)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:254)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2209)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2120)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2022)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at androidx.fragment.app.FragmentManager.executePendingTransactions(FragmentManager.java:603)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.SettingsActivity.switchToFragment(SettingsActivity.java:727)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.SettingsActivity.launchSettingFragment(SettingsActivity.java:509)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at com.android.settings.SettingsActivity.onCreate(SettingsActivity.java:304)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8057)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8037)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1341)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3688)
|
||||
09-23 11:50:49.155 2227 2227 E AndroidRuntime: ... 12 more
|
@ -0,0 +1,348 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Muhomor <muhomor.dmitry@gmail.com>
|
||||
Date: Mon, 8 Aug 2022 19:03:37 +0300
|
||||
Subject: [PATCH] add an option to show the details of an application error to
|
||||
the user
|
||||
|
||||
Adds a "Show details" item to crash and ANR (app not responding) dialogs that takes the user to a
|
||||
SystemUI activity which shows the error details and allows to copy them to the clipboard or to
|
||||
export them via the standard sharing UI.
|
||||
---
|
||||
.../android/app/ApplicationErrorReport.java | 14 +-
|
||||
core/res/res/layout/app_anr_dialog.xml | 4 +-
|
||||
core/res/res/layout/app_error_dialog.xml | 4 +-
|
||||
core/res/res/values/strings.xml | 3 +
|
||||
core/res/res/values/symbols.xml | 3 +
|
||||
packages/SystemUI/AndroidManifest.xml | 12 ++
|
||||
packages/SystemUI/res/values/strings.xml | 5 +
|
||||
.../android/systemui/ErrorReportActivity.kt | 159 ++++++++++++++++++
|
||||
.../java/com/android/server/am/AppErrors.java | 1 +
|
||||
9 files changed, 199 insertions(+), 6 deletions(-)
|
||||
create mode 100644 packages/SystemUI/src/com/android/systemui/ErrorReportActivity.kt
|
||||
|
||||
diff --git a/core/java/android/app/ApplicationErrorReport.java b/core/java/android/app/ApplicationErrorReport.java
|
||||
index a0b3dc0452ac..d6b9a837c46b 100644
|
||||
--- a/core/java/android/app/ApplicationErrorReport.java
|
||||
+++ b/core/java/android/app/ApplicationErrorReport.java
|
||||
@@ -98,6 +98,9 @@ public class ApplicationErrorReport implements Parcelable {
|
||||
*/
|
||||
public String packageName;
|
||||
|
||||
+ /** @hide */
|
||||
+ public long packageVersion;
|
||||
+
|
||||
/**
|
||||
* Package name of the application which installed the application this
|
||||
* report pertains to.
|
||||
@@ -162,13 +165,18 @@ public class ApplicationErrorReport implements Parcelable {
|
||||
String packageName, int appFlags) {
|
||||
// check if error reporting is enabled in secure settings
|
||||
int enabled = Settings.Global.getInt(context.getContentResolver(),
|
||||
- Settings.Global.SEND_ACTION_APP_ERROR, 0);
|
||||
+ Settings.Global.SEND_ACTION_APP_ERROR, 1);
|
||||
if (enabled == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
PackageManager pm = context.getPackageManager();
|
||||
|
||||
+ ComponentName systemUiReceiver = getErrorReportReceiver(pm, packageName, "com.android.systemui");
|
||||
+ if (systemUiReceiver != null) {
|
||||
+ return systemUiReceiver;
|
||||
+ }
|
||||
+
|
||||
// look for receiver in the installer package
|
||||
String candidate = null;
|
||||
ComponentName result = null;
|
||||
@@ -233,6 +241,7 @@ public class ApplicationErrorReport implements Parcelable {
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeInt(type);
|
||||
dest.writeString(packageName);
|
||||
+ dest.writeLong(packageVersion);
|
||||
dest.writeString(installerPackageName);
|
||||
dest.writeString(processName);
|
||||
dest.writeLong(time);
|
||||
@@ -260,6 +269,7 @@ public class ApplicationErrorReport implements Parcelable {
|
||||
public void readFromParcel(Parcel in) {
|
||||
type = in.readInt();
|
||||
packageName = in.readString();
|
||||
+ packageVersion = in.readLong();
|
||||
installerPackageName = in.readString();
|
||||
processName = in.readString();
|
||||
time = in.readLong();
|
||||
@@ -686,7 +696,7 @@ public class ApplicationErrorReport implements Parcelable {
|
||||
*/
|
||||
public void dump(Printer pw, String prefix) {
|
||||
pw.println(prefix + "type: " + type);
|
||||
- pw.println(prefix + "packageName: " + packageName);
|
||||
+ pw.println(prefix + "packageName: " + packageName + ":" + packageVersion);
|
||||
pw.println(prefix + "installerPackageName: " + installerPackageName);
|
||||
pw.println(prefix + "processName: " + processName);
|
||||
pw.println(prefix + "time: " + time);
|
||||
diff --git a/core/res/res/layout/app_anr_dialog.xml b/core/res/res/layout/app_anr_dialog.xml
|
||||
index 5ad0f4c0f6cc..ad3a2d2991de 100644
|
||||
--- a/core/res/res/layout/app_anr_dialog.xml
|
||||
+++ b/core/res/res/layout/app_anr_dialog.xml
|
||||
@@ -41,8 +41,8 @@
|
||||
android:id="@+id/aerr_report"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
- android:text="@string/aerr_report"
|
||||
- android:drawableStart="@drawable/ic_feedback"
|
||||
+ android:text="@string/aerr_show_details"
|
||||
+ android:drawableStart="@drawable/ic_info_outline_24"
|
||||
style="@style/aerr_list_item" />
|
||||
|
||||
</LinearLayout>
|
||||
diff --git a/core/res/res/layout/app_error_dialog.xml b/core/res/res/layout/app_error_dialog.xml
|
||||
index c3b149a1e295..a47b82018377 100644
|
||||
--- a/core/res/res/layout/app_error_dialog.xml
|
||||
+++ b/core/res/res/layout/app_error_dialog.xml
|
||||
@@ -52,8 +52,8 @@
|
||||
android:id="@+id/aerr_report"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
- android:text="@string/aerr_report"
|
||||
- android:drawableStart="@drawable/ic_feedback"
|
||||
+ android:text="@string/aerr_show_details"
|
||||
+ android:drawableStart="@drawable/ic_info_outline_24"
|
||||
style="@style/aerr_list_item" />
|
||||
|
||||
<Button
|
||||
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
|
||||
index 4a8624222ae8..b7d43121903b 100644
|
||||
--- a/core/res/res/values/strings.xml
|
||||
+++ b/core/res/res/values/strings.xml
|
||||
@@ -6071,4 +6071,7 @@ ul.</string>
|
||||
<string name="ui_translation_accessibility_translated_text"><xliff:g id="message" example="Hello">%1$s</xliff:g> Translated.</string>
|
||||
<!-- Accessibility message announced to notify the user when the system has finished translating the content displayed on the screen to a different language after the user requested translation. [CHAR LIMIT=NONE] -->
|
||||
<string name="ui_translation_accessibility_translation_finished">Message translated from <xliff:g id="from_language" example="English">%1$s</xliff:g> to <xliff:g id="to_language" example="French">%2$s</xliff:g>.</string>
|
||||
+
|
||||
+ <!-- Button that opens the screen with details of an application error -->
|
||||
+ <string name="aerr_show_details">Show details</string>
|
||||
</resources>
|
||||
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
|
||||
index 06715613e90c..53276355483a 100644
|
||||
--- a/core/res/res/values/symbols.xml
|
||||
+++ b/core/res/res/values/symbols.xml
|
||||
@@ -4495,4 +4495,7 @@
|
||||
<java-symbol type="array" name="config_builtInDisplayIsRoundArray" />
|
||||
<java-symbol type="array" name="config_serviceStateLocationAllowedPackages" />
|
||||
<java-symbol type="dimen" name="status_bar_height_default" />
|
||||
+
|
||||
+ <!-- Button that opens the screen with details of an application error -->
|
||||
+ <java-symbol type="string" name="aerr_show_details" />
|
||||
</resources>
|
||||
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
|
||||
index 3210af7bdebc..a89494c3ae25 100644
|
||||
--- a/packages/SystemUI/AndroidManifest.xml
|
||||
+++ b/packages/SystemUI/AndroidManifest.xml
|
||||
@@ -871,5 +871,17 @@
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
+ <activity
|
||||
+ android:name=".ErrorReportActivity"
|
||||
+ android:exported="true"
|
||||
+ android:theme="@android:style/Theme.DeviceDefault.DayNight"
|
||||
+ android:documentLaunchMode="always"
|
||||
+ android:process=":ui"
|
||||
+ >
|
||||
+ <intent-filter>
|
||||
+ <action android:name="android.intent.action.APP_ERROR" />
|
||||
+ </intent-filter>
|
||||
+ </activity>
|
||||
+
|
||||
</application>
|
||||
</manifest>
|
||||
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
|
||||
index 4a7d7089d712..f0441de18929 100644
|
||||
--- a/packages/SystemUI/res/values/strings.xml
|
||||
+++ b/packages/SystemUI/res/values/strings.xml
|
||||
@@ -2353,4 +2353,9 @@
|
||||
|
||||
<!-- Title for User Switch dialog. [CHAR LIMIT=20] -->
|
||||
<string name="qs_user_switch_dialog_title">Select user</string>
|
||||
+
|
||||
+ <string name="error_report_title">Error in %1$s</string>
|
||||
+ <string name="copy_to_clipboard">Copy to clipboard</string>
|
||||
+ <string name="copied_to_clipboard">Copied to clipboard</string>
|
||||
+ <string name="error_share">Share</string>
|
||||
</resources>
|
||||
diff --git a/packages/SystemUI/src/com/android/systemui/ErrorReportActivity.kt b/packages/SystemUI/src/com/android/systemui/ErrorReportActivity.kt
|
||||
new file mode 100644
|
||||
index 000000000000..94630b044fbe
|
||||
--- /dev/null
|
||||
+++ b/packages/SystemUI/src/com/android/systemui/ErrorReportActivity.kt
|
||||
@@ -0,0 +1,159 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2022 GrapheneOS
|
||||
+ *
|
||||
+ * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+ * you may not use this file except in compliance with the License.
|
||||
+ * You may obtain a copy of the License at
|
||||
+ *
|
||||
+ * http://www.apache.org/licenses/LICENSE-2.0
|
||||
+ *
|
||||
+ * Unless required by applicable law or agreed to in writing, software
|
||||
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+ * See the License for the specific language governing permissions and
|
||||
+ * limitations under the License.
|
||||
+ */
|
||||
+
|
||||
+package com.android.systemui
|
||||
+
|
||||
+import android.app.Activity
|
||||
+import android.app.ApplicationErrorReport
|
||||
+import android.content.ClipData
|
||||
+import android.content.ClipDescription
|
||||
+import android.content.ClipboardManager
|
||||
+import android.content.Intent
|
||||
+import android.graphics.Typeface
|
||||
+import android.os.Build
|
||||
+import android.os.Bundle
|
||||
+import android.util.StringBuilderPrinter
|
||||
+import android.util.TypedValue
|
||||
+import android.view.Gravity
|
||||
+import android.view.View
|
||||
+import android.widget.Button
|
||||
+import android.widget.LinearLayout
|
||||
+import android.widget.LinearLayout.LayoutParams
|
||||
+import android.widget.ScrollView
|
||||
+import android.widget.TextView
|
||||
+import android.widget.Toast
|
||||
+
|
||||
+class ErrorReportActivity : Activity() {
|
||||
+
|
||||
+ override fun onCreate(savedInstanceState: Bundle?) {
|
||||
+ super.onCreate(savedInstanceState)
|
||||
+
|
||||
+ val title: String
|
||||
+ val reportText: String
|
||||
+ try {
|
||||
+ val report = intent.getParcelableExtra<ApplicationErrorReport>(Intent.EXTRA_BUG_REPORT)!!
|
||||
+ val pm = packageManager
|
||||
+ val ai = pm.getApplicationInfo(report.packageName, 0)
|
||||
+ title = getString(R.string.error_report_title, ai.loadLabel(pm))
|
||||
+
|
||||
+ reportText = errorReportToText(report)
|
||||
+ } catch (e: Exception) {
|
||||
+ e.printStackTrace()
|
||||
+ finishAndRemoveTask()
|
||||
+ return
|
||||
+ }
|
||||
+
|
||||
+ setTitle(title)
|
||||
+
|
||||
+ val textView = TextView(this).apply {
|
||||
+ typeface = Typeface.MONOSPACE
|
||||
+ text = reportText
|
||||
+ textSize = 12f
|
||||
+ setTextIsSelectable(true)
|
||||
+ // default color is too light
|
||||
+ val color = if (resources.configuration.isNightModeActive) 0xff_d0_d0_d0 else 0xff_00_00_00
|
||||
+ setTextColor(color.toInt())
|
||||
+ }
|
||||
+
|
||||
+ val scroller = ScrollView(this).apply {
|
||||
+ isScrollbarFadingEnabled = false
|
||||
+ scrollBarStyle = View.SCROLLBARS_INSIDE_INSET
|
||||
+ addView(textView)
|
||||
+ }
|
||||
+
|
||||
+ val formattedReportText = "```\n" + reportText + "\n```"
|
||||
+ val clipData = ClipData.newPlainText(title, formattedReportText)
|
||||
+
|
||||
+ val btnCopy = Button(this).apply {
|
||||
+ setText(R.string.copy_to_clipboard)
|
||||
+ setOnClickListener { _ ->
|
||||
+ val cm = getSystemService(ClipboardManager::class.java)
|
||||
+ cm.setPrimaryClip(clipData)
|
||||
+ Toast.makeText(this@ErrorReportActivity, R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show()
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ val btnShare = Button(this).apply {
|
||||
+ setText(R.string.error_share)
|
||||
+ setOnClickListener { _ ->
|
||||
+ val i = Intent(Intent.ACTION_SEND)
|
||||
+ i.clipData = clipData
|
||||
+ i.type = ClipDescription.MIMETYPE_TEXT_PLAIN
|
||||
+ i.putExtra(Intent.EXTRA_SUBJECT, title)
|
||||
+ i.putExtra(Intent.EXTRA_TEXT, formattedReportText)
|
||||
+ startActivity(Intent.createChooser(i, title))
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ val buttonLayout = LinearLayout(this).apply {
|
||||
+ orientation = LinearLayout.HORIZONTAL
|
||||
+ gravity = Gravity.CENTER
|
||||
+ addView(btnCopy)
|
||||
+ addView(btnShare)
|
||||
+ }
|
||||
+
|
||||
+ val pad = px(16)
|
||||
+
|
||||
+ val layout = LinearLayout(this).apply {
|
||||
+ orientation = LinearLayout.VERTICAL
|
||||
+ addView(scroller, LayoutParams(LayoutParams.MATCH_PARENT, 0, 1f))
|
||||
+ addView(buttonLayout)
|
||||
+ setPadding(pad, pad, pad, pad)
|
||||
+ }
|
||||
+
|
||||
+ setContentView(layout)
|
||||
+ }
|
||||
+
|
||||
+ fun px(dp: Int) = TypedValue.applyDimension(
|
||||
+ TypedValue.COMPLEX_UNIT_PX, dp.toFloat(), resources.displayMetrics).toInt()
|
||||
+
|
||||
+ fun errorReportToText(r: ApplicationErrorReport) =
|
||||
+
|
||||
+"""type: ${reportTypeToString(r.type)}
|
||||
+osVersion: ${Build.FINGERPRINT}
|
||||
+package: ${r.packageName}:${r.packageVersion}
|
||||
+process: ${r.processName}
|
||||
+
|
||||
+${reportInfoToString(r)}"""
|
||||
+
|
||||
+ fun reportInfoToString(r: ApplicationErrorReport): String {
|
||||
+ if (r.type == ApplicationErrorReport.TYPE_CRASH) {
|
||||
+ return r.crashInfo.stackTrace
|
||||
+ }
|
||||
+
|
||||
+ val sb = StringBuilder()
|
||||
+ val printer = StringBuilderPrinter(sb)
|
||||
+
|
||||
+ when (r.type) {
|
||||
+ ApplicationErrorReport.TYPE_ANR ->
|
||||
+ r.anrInfo.dump(printer, "")
|
||||
+ ApplicationErrorReport.TYPE_BATTERY ->
|
||||
+ r.batteryInfo.dump(printer, "")
|
||||
+ ApplicationErrorReport.TYPE_RUNNING_SERVICE ->
|
||||
+ r.runningServiceInfo.dump(printer, "")
|
||||
+ }
|
||||
+
|
||||
+ return sb.toString()
|
||||
+ }
|
||||
+
|
||||
+ fun reportTypeToString(type: Int) = when (type) {
|
||||
+ ApplicationErrorReport.TYPE_CRASH -> "crash"
|
||||
+ ApplicationErrorReport.TYPE_ANR -> "ANR"
|
||||
+ ApplicationErrorReport.TYPE_BATTERY -> "battery"
|
||||
+ ApplicationErrorReport.TYPE_RUNNING_SERVICE -> "running_service"
|
||||
+ else -> "unknown ($type)"
|
||||
+ }
|
||||
+}
|
||||
diff --git a/services/core/java/com/android/server/am/AppErrors.java b/services/core/java/com/android/server/am/AppErrors.java
|
||||
index 0bf0fe2be246..6277ba58a269 100644
|
||||
--- a/services/core/java/com/android/server/am/AppErrors.java
|
||||
+++ b/services/core/java/com/android/server/am/AppErrors.java
|
||||
@@ -814,6 +814,7 @@ class AppErrors {
|
||||
|
||||
ApplicationErrorReport report = new ApplicationErrorReport();
|
||||
report.packageName = r.info.packageName;
|
||||
+ report.packageVersion = r.info.longVersionCode;
|
||||
report.installerPackageName = errState.getErrorReportReceiver().getPackageName();
|
||||
report.processName = r.processName;
|
||||
report.time = timeMillis;
|
@ -28,10 +28,10 @@ Change-Id: Ibbffdb5f3930df74ca8b4ba93d451f7fad086989
|
||||
create mode 100644 src/com/android/settings/network/CaptivePortalWarningDialogHost.java
|
||||
|
||||
diff --git a/res/values-de/cm_strings.xml b/res/values-de/cm_strings.xml
|
||||
index daf7a19a8f..326564d973 100644
|
||||
index 1428fbf300..12b4a68a04 100644
|
||||
--- a/res/values-de/cm_strings.xml
|
||||
+++ b/res/values-de/cm_strings.xml
|
||||
@@ -36,6 +36,9 @@
|
||||
@@ -56,6 +56,9 @@
|
||||
<string name="volume_link_notification_title">Klingelton- und Benachrichtigungslautstärke verknüpfen</string>
|
||||
<string name="unlock_scramble_pin_layout_title">Zufällige Anordnung</string>
|
||||
<string name="unlock_scramble_pin_layout_summary">Bei jedem Entsperrversuch die Ziffernanordnung zufällig neu wählen</string>
|
||||
@ -42,10 +42,10 @@ index daf7a19a8f..326564d973 100644
|
||||
<string name="lockpattern_settings_enable_error_path_title">Sperrmuster-Fehler anzeigen</string>
|
||||
<string name="lockpattern_settings_enable_dots_title">Sperrmuster-Punkte anzeigen</string>
|
||||
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
|
||||
index 01d746958e..9923c03f0e 100644
|
||||
index 2e727640c2..6f14256ebf 100644
|
||||
--- a/res/values/cm_strings.xml
|
||||
+++ b/res/values/cm_strings.xml
|
||||
@@ -78,6 +78,11 @@
|
||||
@@ -82,6 +82,11 @@
|
||||
<string name="unlock_scramble_pin_layout_title">Scramble layout</string>
|
||||
<string name="unlock_scramble_pin_layout_summary">Scramble PIN layout when unlocking device</string>
|
||||
|
||||
@ -54,9 +54,9 @@ index 01d746958e..9923c03f0e 100644
|
||||
+ <string name="captive_portal_switch_summary">Enable or disable the captive portal probing for connection attempts (default ON).</string>
|
||||
+ <string name="captive_portal_switch_warning">If you switch off the captive portal, you will not receive connectivity informations any longer. Really switch off?</string>
|
||||
+
|
||||
<!-- Lock screen pattern size -->
|
||||
<string name="lock_pattern_size_3" translatable="false">3 \u00d7 3</string>
|
||||
<string name="lock_pattern_size_4" translatable="false">4 \u00d7 4</string>
|
||||
<!-- Fingerprint wake-and-unlock -->
|
||||
<string name="fingerprint_wake_unlock_title">Touch fingerprint to unlock</string>
|
||||
<string name="fingerprint_wake_unlock_touch">Listens for events while the screen is off</string>
|
||||
diff --git a/res/xml/network_and_internet.xml b/res/xml/network_and_internet.xml
|
||||
index d842aad021..7f82235a2b 100644
|
||||
--- a/res/xml/network_and_internet.xml
|
||||
|
@ -938,7 +938,11 @@ hardenDefconfig() {
|
||||
#optionsNo+=("DEBUG_FS");
|
||||
optionsNo+=("FTRACE" "KPROBE_EVENTS" "UPROBE_EVENTS" "GENERIC_TRACER" "FUNCTION_TRACER" "STACK_TRACER" "HIST_TRIGGERS" "BLK_DEV_IO_TRACE" "FAIL_FUTEX" "DYNAMIC_DEBUG");
|
||||
fi;
|
||||
optionsNo+=("CORESIGHT_CSR" "CORESIGHT_CTI_SAVE_DISABLE" "CORESIGHT_CTI" "CORESIGHT_DBGUI" "CORESIGHT_ETM" "CORESIGHT_ETMV4" "CORESIGHT_EVENT" "CORESIGHT_FUNNEL" "CORESIGHT_FUSE" "CORESIGHT_HWEVENT" "CORESIGHT_QPDI" "CORESIGHT_REMOTE_ETM" "CORESIGHT_REPLICATOR" "CORESIGHT_STM_DEFAULT_ENABLE" "CORESIGHT_STM" "CORESIGHT_TMC" "CORESIGHT_TPDA" "CORESIGHT_TPDM_DEFAULT_ENABLE" "CORESIGHT_TPDM" "CORESIGHT_TPIU" "CORESIGHT" "DEBUG_ATOMIC_SLEEP" "DEBUG_BUS_VOTER" "DEBUG_MUTEXES" "DEBUG_PAGEALLOC" "DEBUG_STACK_USAGE" "FB_MSM_MDSS_XLOG_DEBUG" "HAVE_CORESIGHT_SINK" "HAVE_DEBUG_BUGVERBOSE" "HAVE_DEBUG_KMEMLEAK" "IOMMU_DEBUG" "IOMMU_DEBUG_TRACKING" "IOMMU_TESTS" "L2TP_DEBUGFS" "LOCKUP_DETECTOR" "LOG_BUF_MAGIC" "MSMB_CAMERA_DEBUG" "MSM_CAMERA_DEBUG" "MSM_SMD_DEBUG" "OF_CORESIGHT" "PREEMPT_TRACER" "DEBUG_SPINLOCK");
|
||||
optionsNo+=("DEBUG_ATOMIC_SLEEP" "DEBUG_BUS_VOTER" "DEBUG_MUTEXES" "DEBUG_PAGEALLOC" "DEBUG_STACK_USAGE" "FB_MSM_MDSS_XLOG_DEBUG" "HAVE_DEBUG_BUGVERBOSE" "HAVE_DEBUG_KMEMLEAK" "IOMMU_DEBUG" "IOMMU_DEBUG_TRACKING" "IOMMU_TESTS" "L2TP_DEBUGFS" "LOCKUP_DETECTOR" "LOG_BUF_MAGIC" "MSMB_CAMERA_DEBUG" "MSM_CAMERA_DEBUG" "MSM_SMD_DEBUG" "PREEMPT_TRACER" "DEBUG_SPINLOCK");
|
||||
|
||||
if [[ "$1" != *"kernel/oneplus/sm8250"* ]]; then
|
||||
optionsNo+=("CORESIGHT_CSR" "CORESIGHT_CTI_SAVE_DISABLE" "CORESIGHT_CTI" "CORESIGHT_DBGUI" "CORESIGHT_ETM" "CORESIGHT_ETMV4" "CORESIGHT_EVENT" "CORESIGHT_FUNNEL" "CORESIGHT_FUSE" "CORESIGHT_HWEVENT" "CORESIGHT_QPDI" "CORESIGHT_REMOTE_ETM" "CORESIGHT_REPLICATOR" "CORESIGHT_STM_DEFAULT_ENABLE" "CORESIGHT_STM" "CORESIGHT_TMC" "CORESIGHT_TPDA" "CORESIGHT_TPDM_DEFAULT_ENABLE" "CORESIGHT_TPDM" "CORESIGHT_TPIU" "CORESIGHT" "HAVE_CORESIGHT_SINK" "OF_CORESIGHT");
|
||||
fi;
|
||||
|
||||
if [ "$DOS_DEBLOBBER_REMOVE_IPA" = true ]; then optionsNo+=("IPA" "RMNET_IPA"); fi;
|
||||
optionsNo+=("WIREGUARD"); #Requires root access, which we do not provide
|
||||
|
@ -478,6 +478,8 @@ cd "$DOS_BUILD_BASE";
|
||||
deblobAudio || true;
|
||||
removeBuildFingerprints || true;
|
||||
enableAutoVarInit || true;
|
||||
cd "$DOS_BUILD_BASE";
|
||||
#rm -rfv device/*/*/overlay/CarrierConfigResCommon device/*/*/rro_overlays/CarrierConfigOverlay device/*/*/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml;
|
||||
|
||||
#Tweaks for <2GB RAM devices
|
||||
enableLowRam "device/motorola/harpia" "harpia";
|
||||
|
@ -553,6 +553,8 @@ cd "$DOS_BUILD_BASE";
|
||||
deblobAudio || true;
|
||||
removeBuildFingerprints || true;
|
||||
enableAutoVarInit || true;
|
||||
cd "$DOS_BUILD_BASE";
|
||||
#rm -rfv device/*/*/overlay/CarrierConfigResCommon device/*/*/rro_overlays/CarrierConfigOverlay device/*/*/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml;
|
||||
|
||||
#Tweaks for <2GB RAM devices
|
||||
enableLowRam "device/samsung/msm8930-common" "msm8930-common";
|
||||
|
@ -85,7 +85,7 @@ buildAll() {
|
||||
buildDevice flame avb;
|
||||
buildDevice vayu avb;
|
||||
#SD865
|
||||
buildDevice instantnoodle avb; #TODO: don't disable CONFIG_CORESIGHT_*
|
||||
buildDevice instantnoodle avb;
|
||||
buildDevice instantnoodlep avb;
|
||||
buildDevice kebab avb;
|
||||
buildDevice lmi avb;
|
||||
|
@ -167,6 +167,7 @@ applyPatch "$DOS_PATCHES/android_frameworks_base/326692.patch"; #Skip screen on
|
||||
applyPatch "$DOS_PATCHES/android_frameworks_base/0023-Skip_Screen_Animation.patch"; #SystemUI: Skip screen-on animation in all scenarios (kdrag0n)
|
||||
applyPatch "$DOS_PATCHES/android_frameworks_base/0024-Burnin_Protection.patch"; #SystemUI: add burnIn protection (arter97)
|
||||
applyPatch "$DOS_PATCHES/android_frameworks_base/0025-Monet_Toggle.patch"; #Make monet based theming user configurable (GrapheneOS)
|
||||
applyPatch "$DOS_PATCHES/android_frameworks_base/0026-Crash_Details.patch"; #Add an option to show the details of an application error to the user (GrapheneOS)
|
||||
applyPatch "$DOS_PATCHES_COMMON/android_frameworks_base/0007-ABI_Warning.patch"; #Warn when running activity from 32 bit app on ARM64 devices. (AOSP)
|
||||
hardenLocationConf services/core/java/com/android/server/location/gnss/gps_debug.conf; #Harden the default GPS config
|
||||
changeDefaultDNS; #Change the default DNS servers
|
||||
@ -279,7 +280,7 @@ if [ "$DOS_GRAPHENE_CONSTIFY" = true ]; then applyPatch "$DOS_PATCHES/android_pa
|
||||
fi;
|
||||
|
||||
if enterAndClear "packages/apps/Settings"; then
|
||||
#applyPatch "$DOS_PATCHES/android_packages_apps_Settings/0001-Captive_Portal_Toggle.patch"; #Add option to disable captive portal checks (MSe1969) #XXX 19REBASE: broken?
|
||||
#applyPatch "$DOS_PATCHES/android_packages_apps_Settings/0001-Captive_Portal_Toggle.patch"; #Add option to disable captive portal checks (MSe1969) #XXX 19REBASE: broken
|
||||
applyPatch "$DOS_PATCHES/android_packages_apps_Settings/0004-Private_DNS.patch"; #More 'Private DNS' options (heavily based off of a CalyxOS patch)
|
||||
applyPatch "$DOS_PATCHES/android_packages_apps_Settings/0005-Automatic_Reboot.patch"; #Timeout for reboot (GrapheneOS)
|
||||
applyPatch "$DOS_PATCHES/android_packages_apps_Settings/0006-Bluetooth_Timeout.patch"; #Timeout for Bluetooth (CalyxOS)
|
||||
@ -436,7 +437,7 @@ awk -i inplace '!/sctp/' BoardConfig-common.mk modules.load; #fix compile after
|
||||
fi;
|
||||
|
||||
if enterAndClear "device/oneplus/msm8998-common"; then
|
||||
awk -i inplace '!/TARGET_RELEASETOOLS_EXTENSIONS/' BoardConfigCommon.mk; #disable releasetools to fix delta ota generation
|
||||
#awk -i inplace '!/TARGET_RELEASETOOLS_EXTENSIONS/' BoardConfigCommon.mk; #disable releasetools to fix delta ota generation
|
||||
sed -i '/PRODUCT_SYSTEM_VERITY_PARTITION/iPRODUCT_VENDOR_VERITY_PARTITION := /dev/block/bootdevice/by-name/vendor' common.mk; #Support verity on /vendor too
|
||||
awk -i inplace '!/vendor_sensors_dbg_prop/' sepolicy/vendor/hal_camera_default.te; #fixup
|
||||
fi;
|
||||
@ -466,6 +467,8 @@ cd "$DOS_BUILD_BASE";
|
||||
deblobAudio || true;
|
||||
removeBuildFingerprints || true;
|
||||
enableAutoVarInit || true;
|
||||
cd "$DOS_BUILD_BASE";
|
||||
#rm -rfv device/*/*/overlay/CarrierConfigResCommon device/*/*/rro_overlays/CarrierConfigOverlay device/*/*/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml;
|
||||
|
||||
#Tweaks for <4GB RAM devices
|
||||
#enableLowRam "device/sony/pioneer" "pioneer";
|
||||
|
Loading…
Reference in New Issue
Block a user