Loading src/com/android/settings/Utils.java +12 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ import android.net.LinkProperties; import android.net.Network; import android.net.wifi.WifiManager; import android.os.BatteryManager; import android.os.Binder; import android.os.Build; import android.os.Bundle; import android.os.IBinder; Loading Loading @@ -1089,4 +1090,15 @@ public final class Utils extends com.android.settingslib.Utils { } return f; } /** * Returns true if current binder uid is Settings Intelligence. */ public static boolean isSettingsIntelligence(Context context) { final int callingUid = Binder.getCallingUid(); final String callingPackage = context.getPackageManager().getPackagesForUid(callingUid)[0]; final boolean isSettingsIntelligence = TextUtils.equals(callingPackage, context.getString(R.string.config_settingsintelligence_package_name)); return isSettingsIntelligence; } } src/com/android/settings/network/telephony/MobileDataSlice.java +8 −5 Original line number Diff line number Diff line Loading @@ -96,15 +96,18 @@ public class MobileDataSlice implements CustomSliceable { ListBuilder.ICON_IMAGE, title); final SliceAction toggleSliceAction = SliceAction.createToggle(toggleAction, null /* actionTitle */, isMobileDataEnabled()); final ListBuilder.RowBuilder rowBuilder = new ListBuilder.RowBuilder() .setTitle(title) .addEndItem(toggleSliceAction) .setPrimaryAction(primarySliceAction); if (!Utils.isSettingsIntelligence(mContext)) { rowBuilder.setSubtitle(summary); } final ListBuilder listBuilder = new ListBuilder(mContext, getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(new ListBuilder.RowBuilder() .setTitle(title) .setSubtitle(summary) .addEndItem(toggleSliceAction) .setPrimaryAction(primarySliceAction)); .addRow(rowBuilder); return listBuilder.build(); } Loading src/com/android/settings/notification/zen/ZenModeSliceBuilder.java +8 −5 Original line number Diff line number Diff line Loading @@ -82,15 +82,18 @@ public class ZenModeSliceBuilder { final SliceAction toggleSliceAction = SliceAction.createToggle(toggleAction, null /* actionTitle */, isZenModeEnabled); final RowBuilder rowBuilder = new RowBuilder() .setTitle(title) .addEndItem(toggleSliceAction) .setPrimaryAction(primarySliceAction); if (!Utils.isSettingsIntelligence(context)) { rowBuilder.setSubtitle(subtitle); } return new ListBuilder(context, CustomSliceRegistry.ZEN_MODE_SLICE_URI, ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() .setTitle(title) .setSubtitle(subtitle) .addEndItem(toggleSliceAction) .setPrimaryAction(primarySliceAction)) .addRow(rowBuilder) .build(); } Loading src/com/android/settings/slices/SliceBuilderUtils.java +39 −25 Original line number Diff line number Diff line Loading @@ -241,16 +241,19 @@ public class SliceBuilderUtils { final SliceAction sliceAction = getToggleAction(context, sliceData, toggleController.isChecked()); final Set<String> keywords = buildSliceKeywords(sliceData); return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() final RowBuilder rowBuilder = new RowBuilder() .setTitle(sliceData.getTitle()) .setSubtitle(subtitleText) .setPrimaryAction( SliceAction.createDeeplink(contentIntent, icon, ListBuilder.ICON_IMAGE, sliceData.getTitle())) .addEndItem(sliceAction)) .addEndItem(sliceAction); if (!Utils.isSettingsIntelligence(context)) { rowBuilder.setSubtitle(subtitleText); } return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(rowBuilder) .setKeywords(keywords) .build(); } Loading @@ -262,16 +265,19 @@ public class SliceBuilderUtils { final CharSequence subtitleText = getSubtitleText(context, controller, sliceData); @ColorInt final int color = Utils.getColorAccentDefaultColor(context); final Set<String> keywords = buildSliceKeywords(sliceData); return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() final RowBuilder rowBuilder = new RowBuilder() .setTitle(sliceData.getTitle()) .setSubtitle(subtitleText) .setPrimaryAction( SliceAction.createDeeplink(contentIntent, icon, ListBuilder.ICON_IMAGE, sliceData.getTitle()))) sliceData.getTitle())); if (!Utils.isSettingsIntelligence(context)) { rowBuilder.setSubtitle(subtitleText); } return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(rowBuilder) .setKeywords(keywords) .build(); } Loading Loading @@ -301,7 +307,6 @@ public class SliceBuilderUtils { } final InputRangeBuilder inputRangeBuilder = new InputRangeBuilder() .setTitle(sliceData.getTitle()) .setSubtitle(subtitleText) .setPrimaryAction(primaryAction) .setMax(sliderController.getMax()) .setMin(sliderController.getMin()) Loading @@ -311,6 +316,9 @@ public class SliceBuilderUtils { inputRangeBuilder.setTitleItem(icon, ListBuilder.ICON_IMAGE); color = CustomSliceable.COLOR_NOT_TINTED; } if (!Utils.isSettingsIntelligence(context)) { inputRangeBuilder.setSubtitle(subtitleText); } return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) Loading @@ -330,14 +338,17 @@ public class SliceBuilderUtils { final CharSequence subtitleText = getSubtitleText(context, controller, sliceData); @ColorInt final int color = Utils.getColorAccentDefaultColor(context); final Set<String> keywords = buildSliceKeywords(sliceData); final RowBuilder rowBuilder = new RowBuilder() .setTitle(sliceData.getTitle()) .setPrimaryAction(primaryAction) .addEndItem(copyableAction); if (!Utils.isSettingsIntelligence(context)) { rowBuilder.setSubtitle(subtitleText); } return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() .setTitle(sliceData.getTitle()) .setSubtitle(subtitleText) .setPrimaryAction(primaryAction) .addEndItem(copyableAction)) .addRow(rowBuilder) .setKeywords(keywords) .build(); } Loading Loading @@ -418,14 +429,17 @@ public class SliceBuilderUtils { final SliceAction primaryAction = SliceAction.createDeeplink( getContentPendingIntent(context, data), icon, ListBuilder.ICON_IMAGE, title); final RowBuilder rowBuilder = new RowBuilder() .setTitle(title) .setTitleItem(icon, ListBuilder.ICON_IMAGE) .setPrimaryAction(primaryAction); if (!Utils.isSettingsIntelligence(context)) { rowBuilder.setSubtitle(subtitle); } return new ListBuilder(context, data.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() .setTitle(title) .setTitleItem(icon, ListBuilder.ICON_IMAGE) .setSubtitle(subtitle) .setPrimaryAction(primaryAction)) .addRow(rowBuilder) .setKeywords(keywords) .build(); } Loading src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java +15 −9 Original line number Diff line number Diff line Loading @@ -269,14 +269,17 @@ public class WifiCallingSliceHelper { // Top row shows information on current preference state final ListBuilder listBuilder = new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)); listBuilder.setHeader(new ListBuilder.HeaderBuilder() final ListBuilder.HeaderBuilder headerBuilder = new ListBuilder.HeaderBuilder() .setTitle(res.getText(R.string.wifi_calling_mode_title)) .setSubtitle(getWifiCallingPreferenceSummary(currentWfcPref, subId)) .setPrimaryAction(SliceAction.createDeeplink( getActivityIntent(ACTION_WIFI_CALLING_SETTINGS_ACTIVITY), icon, ListBuilder.ICON_IMAGE, res.getText(R.string.wifi_calling_mode_title)))); res.getText(R.string.wifi_calling_mode_title))); if (!Utils.isSettingsIntelligence(mContext)) { headerBuilder.setSubtitle(getWifiCallingPreferenceSummary(currentWfcPref, subId)); } listBuilder.setHeader(headerBuilder); if (isWifiOnlySupported) { listBuilder.addRow(wifiPreferenceRowBuilder(listBuilder, Loading Loading @@ -458,14 +461,17 @@ public class WifiCallingSliceHelper { private Slice getNonActionableWifiCallingSlice(CharSequence title, CharSequence subtitle, Uri sliceUri, PendingIntent primaryActionIntent) { final IconCompat icon = IconCompat.createWithResource(mContext, R.drawable.wifi_signal); return new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) .addRow(new RowBuilder() final RowBuilder rowBuilder = new RowBuilder() .setTitle(title) .setSubtitle(subtitle) .setPrimaryAction(SliceAction.createDeeplink( primaryActionIntent, icon, ListBuilder.SMALL_IMAGE, title))) title)); if (!Utils.isSettingsIntelligence(mContext)) { rowBuilder.setSubtitle(subtitle); } return new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) .addRow(rowBuilder) .build(); } Loading Loading
src/com/android/settings/Utils.java +12 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ import android.net.LinkProperties; import android.net.Network; import android.net.wifi.WifiManager; import android.os.BatteryManager; import android.os.Binder; import android.os.Build; import android.os.Bundle; import android.os.IBinder; Loading Loading @@ -1089,4 +1090,15 @@ public final class Utils extends com.android.settingslib.Utils { } return f; } /** * Returns true if current binder uid is Settings Intelligence. */ public static boolean isSettingsIntelligence(Context context) { final int callingUid = Binder.getCallingUid(); final String callingPackage = context.getPackageManager().getPackagesForUid(callingUid)[0]; final boolean isSettingsIntelligence = TextUtils.equals(callingPackage, context.getString(R.string.config_settingsintelligence_package_name)); return isSettingsIntelligence; } }
src/com/android/settings/network/telephony/MobileDataSlice.java +8 −5 Original line number Diff line number Diff line Loading @@ -96,15 +96,18 @@ public class MobileDataSlice implements CustomSliceable { ListBuilder.ICON_IMAGE, title); final SliceAction toggleSliceAction = SliceAction.createToggle(toggleAction, null /* actionTitle */, isMobileDataEnabled()); final ListBuilder.RowBuilder rowBuilder = new ListBuilder.RowBuilder() .setTitle(title) .addEndItem(toggleSliceAction) .setPrimaryAction(primarySliceAction); if (!Utils.isSettingsIntelligence(mContext)) { rowBuilder.setSubtitle(summary); } final ListBuilder listBuilder = new ListBuilder(mContext, getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(new ListBuilder.RowBuilder() .setTitle(title) .setSubtitle(summary) .addEndItem(toggleSliceAction) .setPrimaryAction(primarySliceAction)); .addRow(rowBuilder); return listBuilder.build(); } Loading
src/com/android/settings/notification/zen/ZenModeSliceBuilder.java +8 −5 Original line number Diff line number Diff line Loading @@ -82,15 +82,18 @@ public class ZenModeSliceBuilder { final SliceAction toggleSliceAction = SliceAction.createToggle(toggleAction, null /* actionTitle */, isZenModeEnabled); final RowBuilder rowBuilder = new RowBuilder() .setTitle(title) .addEndItem(toggleSliceAction) .setPrimaryAction(primarySliceAction); if (!Utils.isSettingsIntelligence(context)) { rowBuilder.setSubtitle(subtitle); } return new ListBuilder(context, CustomSliceRegistry.ZEN_MODE_SLICE_URI, ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() .setTitle(title) .setSubtitle(subtitle) .addEndItem(toggleSliceAction) .setPrimaryAction(primarySliceAction)) .addRow(rowBuilder) .build(); } Loading
src/com/android/settings/slices/SliceBuilderUtils.java +39 −25 Original line number Diff line number Diff line Loading @@ -241,16 +241,19 @@ public class SliceBuilderUtils { final SliceAction sliceAction = getToggleAction(context, sliceData, toggleController.isChecked()); final Set<String> keywords = buildSliceKeywords(sliceData); return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() final RowBuilder rowBuilder = new RowBuilder() .setTitle(sliceData.getTitle()) .setSubtitle(subtitleText) .setPrimaryAction( SliceAction.createDeeplink(contentIntent, icon, ListBuilder.ICON_IMAGE, sliceData.getTitle())) .addEndItem(sliceAction)) .addEndItem(sliceAction); if (!Utils.isSettingsIntelligence(context)) { rowBuilder.setSubtitle(subtitleText); } return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(rowBuilder) .setKeywords(keywords) .build(); } Loading @@ -262,16 +265,19 @@ public class SliceBuilderUtils { final CharSequence subtitleText = getSubtitleText(context, controller, sliceData); @ColorInt final int color = Utils.getColorAccentDefaultColor(context); final Set<String> keywords = buildSliceKeywords(sliceData); return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() final RowBuilder rowBuilder = new RowBuilder() .setTitle(sliceData.getTitle()) .setSubtitle(subtitleText) .setPrimaryAction( SliceAction.createDeeplink(contentIntent, icon, ListBuilder.ICON_IMAGE, sliceData.getTitle()))) sliceData.getTitle())); if (!Utils.isSettingsIntelligence(context)) { rowBuilder.setSubtitle(subtitleText); } return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(rowBuilder) .setKeywords(keywords) .build(); } Loading Loading @@ -301,7 +307,6 @@ public class SliceBuilderUtils { } final InputRangeBuilder inputRangeBuilder = new InputRangeBuilder() .setTitle(sliceData.getTitle()) .setSubtitle(subtitleText) .setPrimaryAction(primaryAction) .setMax(sliderController.getMax()) .setMin(sliderController.getMin()) Loading @@ -311,6 +316,9 @@ public class SliceBuilderUtils { inputRangeBuilder.setTitleItem(icon, ListBuilder.ICON_IMAGE); color = CustomSliceable.COLOR_NOT_TINTED; } if (!Utils.isSettingsIntelligence(context)) { inputRangeBuilder.setSubtitle(subtitleText); } return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) Loading @@ -330,14 +338,17 @@ public class SliceBuilderUtils { final CharSequence subtitleText = getSubtitleText(context, controller, sliceData); @ColorInt final int color = Utils.getColorAccentDefaultColor(context); final Set<String> keywords = buildSliceKeywords(sliceData); final RowBuilder rowBuilder = new RowBuilder() .setTitle(sliceData.getTitle()) .setPrimaryAction(primaryAction) .addEndItem(copyableAction); if (!Utils.isSettingsIntelligence(context)) { rowBuilder.setSubtitle(subtitleText); } return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() .setTitle(sliceData.getTitle()) .setSubtitle(subtitleText) .setPrimaryAction(primaryAction) .addEndItem(copyableAction)) .addRow(rowBuilder) .setKeywords(keywords) .build(); } Loading Loading @@ -418,14 +429,17 @@ public class SliceBuilderUtils { final SliceAction primaryAction = SliceAction.createDeeplink( getContentPendingIntent(context, data), icon, ListBuilder.ICON_IMAGE, title); final RowBuilder rowBuilder = new RowBuilder() .setTitle(title) .setTitleItem(icon, ListBuilder.ICON_IMAGE) .setPrimaryAction(primaryAction); if (!Utils.isSettingsIntelligence(context)) { rowBuilder.setSubtitle(subtitle); } return new ListBuilder(context, data.getUri(), ListBuilder.INFINITY) .setAccentColor(color) .addRow(new RowBuilder() .setTitle(title) .setTitleItem(icon, ListBuilder.ICON_IMAGE) .setSubtitle(subtitle) .setPrimaryAction(primaryAction)) .addRow(rowBuilder) .setKeywords(keywords) .build(); } Loading
src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java +15 −9 Original line number Diff line number Diff line Loading @@ -269,14 +269,17 @@ public class WifiCallingSliceHelper { // Top row shows information on current preference state final ListBuilder listBuilder = new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)); listBuilder.setHeader(new ListBuilder.HeaderBuilder() final ListBuilder.HeaderBuilder headerBuilder = new ListBuilder.HeaderBuilder() .setTitle(res.getText(R.string.wifi_calling_mode_title)) .setSubtitle(getWifiCallingPreferenceSummary(currentWfcPref, subId)) .setPrimaryAction(SliceAction.createDeeplink( getActivityIntent(ACTION_WIFI_CALLING_SETTINGS_ACTIVITY), icon, ListBuilder.ICON_IMAGE, res.getText(R.string.wifi_calling_mode_title)))); res.getText(R.string.wifi_calling_mode_title))); if (!Utils.isSettingsIntelligence(mContext)) { headerBuilder.setSubtitle(getWifiCallingPreferenceSummary(currentWfcPref, subId)); } listBuilder.setHeader(headerBuilder); if (isWifiOnlySupported) { listBuilder.addRow(wifiPreferenceRowBuilder(listBuilder, Loading Loading @@ -458,14 +461,17 @@ public class WifiCallingSliceHelper { private Slice getNonActionableWifiCallingSlice(CharSequence title, CharSequence subtitle, Uri sliceUri, PendingIntent primaryActionIntent) { final IconCompat icon = IconCompat.createWithResource(mContext, R.drawable.wifi_signal); return new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) .addRow(new RowBuilder() final RowBuilder rowBuilder = new RowBuilder() .setTitle(title) .setSubtitle(subtitle) .setPrimaryAction(SliceAction.createDeeplink( primaryActionIntent, icon, ListBuilder.SMALL_IMAGE, title))) title)); if (!Utils.isSettingsIntelligence(mContext)) { rowBuilder.setSubtitle(subtitle); } return new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY) .setAccentColor(Utils.getColorAccentDefaultColor(mContext)) .addRow(rowBuilder) .build(); } Loading