Android Go项目,Launcher默认关闭此feature。如果需要此feature,请按照如下修改
1. /vendor/mediatek/proprietary/packages/apps/Launcher3/go/res/values-v26/bools.xml:
<bool name="notification_badging_enabled">true</bool>
2. /vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/SettingsActivity.java
73 public void onCreate(Bundle savedInstanceState) { 74 super.onCreate(savedInstanceState); 75 getPreferenceManager().setSharedPreferencesName(LauncherFiles.SHARED_PREFERENCES_KEY); 76 addPreferencesFromResource(R.xml.launcher_preferences); 77 78 ContentResolver resolver = getActivity().getContentResolver(); 79 80 // Setup allow rotation preference 81 Preference rotationPref = findPreference(Utilities.ALLOW_ROTATION_PREFERENCE_KEY); 82 if (getResources().getBoolean(R.bool.allow_rotation)) { 83 // Launcher supports rotation by default. No need to show this setting. 84 getPreferenceScreen().removePreference(rotationPref); 85 } else { 86 mRotationLockObserver = new SystemDisplayRotationLockObserver(rotationPref, resolver); 87 88 // Register a content observer to listen for system setting changes while 89 // this UI is active. 90 mRotationLockObserver.register(Settings.System.ACCELEROMETER_ROTATION); 91 92 // Initialize the UI once 93 rotationPref.setDefaultValue(Utilities.getAllowRotationDefaultValue(getActivity())); 94 } 95 96 ButtonPreference iconBadgingPref = 97 (ButtonPreference) findPreference(ICON_BADGING_PREFERENCE_KEY); 98 if (!Utilities.ATLEAST_OREO) { 99 getPreferenceScreen().removePreference( 100 findPreference(SessionCommitReceiver.ADD_ICON_PREFERENCE_KEY)); 101 getPreferenceScreen().removePreference(iconBadgingPref); 102 } else if (!getResources().getBoolean(R.bool.notification_badging_enabled)) {//mtk modify 105 getPreferenceScreen().removePreference(iconBadgingPref); 106 } else { 107 // Listen to system notification badge settings while this UI is active. 108 mIconBadgingObserver = new IconBadgingObserver( 109 iconBadgingPref, resolver, getFragmentManager()); 110 mIconBadgingObserver.register(NOTIFICATION_BADGING, NOTIFICATION_ENABLED_LISTENERS); 111 } 112 113 Preference iconShapeOverride = findPreference(IconShapeOverride.KEY_PREFERENCE); 114 if (iconShapeOverride != null) { 115 if (IconShapeOverride.isSupported(getActivity())) { 116 IconShapeOverride.handlePreferenceUi((ListPreference) iconShapeOverride); 117 } else { 118 getPreferenceScreen().removePreference(iconShapeOverride); 119 } 120 } 121 }
3. /vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/notification/ZenAccessSettings.java
93 public void onResume() { 94 super.onResume(); 95 if (true) {//mtk modify 96 reloadList(); 97 getContentResolver().registerContentObserver( 98 Secure.getUriFor(Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES), false, 99 mObserver); 100 getContentResolver().registerContentObserver( 101 Secure.getUriFor(Secure.ENABLED_NOTIFICATION_LISTENERS), false, 102 mObserver); 103 } else { 104 setEmptyText(R.string.disabled_low_ram_device); 105 } 106 } 107 108 @Override 109 public void onPause() { 110 super.onPause(); 111 if (true) {//mtk modify 112 getContentResolver().unregisterContentObserver(mObserver); 113 } 114 }
4. /vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/utils/ManagedServiceSettings.java
96 public void onResume() { 97 super.onResume(); 98 if (true) {//mtk modify 99 mServiceListing.reload(); 100 mServiceListing.setListening(true); 101 } else { 102 setEmptyText(R.string.disabled_low_ram_device); 103 } 104 }
5./frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java
扫描二维码关注公众号,回复:
2538829 查看本文章
2882 public void setNotificationListenerAccessGrantedForUser(ComponentName listener, int userId, 2883 boolean granted) throws RemoteException { 2884 Preconditions.checkNotNull(listener); 2885 checkCallerIsSystemOrShell(); 2886 final long identity = Binder.clearCallingIdentity(); 2887 try { 2888 if (true) {//mtk modify 2889 mConditionProviders.setPackageOrComponentEnabled(listener.flattenToString(), 2890 userId, false, granted); 2891 mListeners.setPackageOrComponentEnabled(listener.flattenToString(), 2892 userId, true, granted); 2893 2894 getContext().sendBroadcastAsUser(new Intent( 2895 NotificationManager.ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED) 2896 .setPackage(listener.getPackageName()) 2897 .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY), 2898 UserHandle.of(userId), null); 2899 2900 savePolicyFile(); 2901 } 2902 } finally { 2903 Binder.restoreCallingIdentity(identity); 2904 } 2905 }