Loading src/com/android/settings/bluetooth/BluetoothSliceBuilder.java +12 −9 Original line number Diff line number Diff line Loading @@ -98,6 +98,17 @@ public class BluetoothSliceBuilder { .build(); } public static Intent getIntent(Context context) { final String screenTitle = context.getText(R.string.bluetooth_settings_title).toString(); final Uri contentUri = new Uri.Builder().appendPath( SettingsSlicesContract.KEY_BLUETOOTH).build(); return DatabaseIndexingUtils.buildSearchResultPageIntent(context, BluetoothDashboardFragment.class.getName(), null /* key */, screenTitle, MetricsProto.MetricsEvent.SETTINGS_CONNECTED_DEVICE_CATEGORY) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); } /** * Update the current Bluetooth status to the boolean value keyed by * {@link android.app.slice.Slice#EXTRA_TOGGLE_STATE} on {@param intent}. Loading @@ -119,15 +130,7 @@ public class BluetoothSliceBuilder { } private static PendingIntent getPrimaryAction(Context context) { final String screenTitle = context.getText(R.string.bluetooth_settings_title).toString(); final Uri contentUri = new Uri.Builder().appendPath( SettingsSlicesContract.KEY_BLUETOOTH).build(); final Intent intent = DatabaseIndexingUtils.buildSearchResultPageIntent(context, BluetoothDashboardFragment.class.getName(), null /* key */, screenTitle, MetricsProto.MetricsEvent.SETTINGS_CONNECTED_DEVICE_CATEGORY) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); final Intent intent = getIntent(context); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } Loading src/com/android/settings/location/LocationSliceBuilder.java +5 −2 Original line number Diff line number Diff line Loading @@ -79,15 +79,18 @@ public class LocationSliceBuilder { .build(); } private static PendingIntent getPrimaryAction(Context context) { public static Intent getIntent(Context context) { final String screenTitle = context.getText(R.string.location_settings_title).toString(); final Uri contentUri = new Uri.Builder().appendPath(KEY_LOCATION).build(); final Intent intent = DatabaseIndexingUtils.buildSearchResultPageIntent(context, return DatabaseIndexingUtils.buildSearchResultPageIntent(context, LocationSettings.class.getName(), KEY_LOCATION, screenTitle, MetricsEvent.LOCATION) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); } private static PendingIntent getPrimaryAction(Context context) { final Intent intent = getIntent(context); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } Loading src/com/android/settings/notification/ZenModeSliceBuilder.java +12 −10 Original line number Diff line number Diff line Loading @@ -123,6 +123,16 @@ public class ZenModeSliceBuilder { // handle it. } public static Intent getIntent(Context context) { final Uri contentUri = new Uri.Builder().appendPath(ZEN_MODE_KEY).build(); final String screenTitle = context.getText(R.string.zen_mode_settings_title).toString(); return DatabaseIndexingUtils.buildSearchResultPageIntent(context, ZenModeSettings.class.getName(), ZEN_MODE_KEY, screenTitle, MetricsEvent.NOTIFICATION_ZEN_MODE) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); } private static boolean isZenModeEnabled(Context context) { final NotificationManager manager = context.getSystemService(NotificationManager.class); final int zenMode = manager.getZenMode(); Loading @@ -139,16 +149,8 @@ public class ZenModeSliceBuilder { } private static PendingIntent getPrimaryAction(Context context) { final String screenTitle = context.getText(R.string.zen_mode_settings_title).toString(); final Uri contentUri = new Uri.Builder().appendPath(ZEN_MODE_KEY).build(); final Intent intent = DatabaseIndexingUtils.buildSearchResultPageIntent(context, ZenModeSettings.class.getName(), ZEN_MODE_KEY, screenTitle, MetricsEvent.NOTIFICATION_ZEN_MODE) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); final Intent intent = getIntent(context); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } private static PendingIntent getBroadcastIntent(Context context) { Loading src/com/android/settings/slices/SliceDeepLinkSpringBoard.java +32 −5 Original line number Diff line number Diff line Loading @@ -18,8 +18,16 @@ import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.provider.Settings; import android.util.Log; import com.android.settings.bluetooth.BluetoothSliceBuilder; import com.android.settings.location.LocationSliceBuilder; import com.android.settings.notification.ZenModeSliceBuilder; import com.android.settings.overlay.FeatureFactory; import com.android.settings.wifi.WifiSliceBuilder; import com.android.settings.wifi.calling.WifiCallingSliceHelper; import java.net.URISyntaxException; public class SliceDeepLinkSpringBoard extends Activity { Loading @@ -44,11 +52,26 @@ public class SliceDeepLinkSpringBoard extends Activity { if (ACTION_VIEW_SLICE.equals(intent.getAction())) { // This shouldn't matter since the slice is shown instead of the device // index caring about the launch uri. Uri slice = Uri.parse(intent.getStringExtra(EXTRA_SLICE)); SlicesDatabaseAccessor slicesDatabaseAccessor = new SlicesDatabaseAccessor(this); final Uri slice = Uri.parse(intent.getStringExtra(EXTRA_SLICE)); final Intent launchIntent; // TODO (b/80263568) Avoid duplicating this list of Slice Uris. if (WifiSliceBuilder.WIFI_URI.equals(slice)) { launchIntent = WifiSliceBuilder.getIntent(this /* context */); } else if (ZenModeSliceBuilder.ZEN_MODE_URI.equals(slice)) { launchIntent = ZenModeSliceBuilder.getIntent(this /* context */); } else if (BluetoothSliceBuilder.BLUETOOTH_URI.equals(slice)) { launchIntent = BluetoothSliceBuilder.getIntent(this /* context */); } else if (LocationSliceBuilder.LOCATION_URI.equals(slice)) { launchIntent = LocationSliceBuilder.getIntent(this /* context */); } else { final SlicesDatabaseAccessor slicesDatabaseAccessor = new SlicesDatabaseAccessor(this /* context */); // Sadly have to block here because we don't know where to go. final SliceData sliceData = slicesDatabaseAccessor.getSliceDataFromUri(slice); Intent launchIntent = SliceBuilderUtils.getContentIntent(this, sliceData); launchIntent = SliceBuilderUtils.getContentIntent(this, sliceData); } startActivity(launchIntent); } else { startActivity(intent); Loading @@ -57,6 +80,10 @@ public class SliceDeepLinkSpringBoard extends Activity { } catch (URISyntaxException e) { Log.e(TAG, "Error decoding uri", e); finish(); } catch (IllegalStateException e) { Log.w(TAG, "Couldn't launch Slice intent", e); startActivity(new Intent(Settings.ACTION_SETTINGS)); finish(); } } Loading src/com/android/settings/wifi/WifiSliceBuilder.java +13 −8 Original line number Diff line number Diff line Loading @@ -121,6 +121,18 @@ public class WifiSliceBuilder { // handle it. } public static Intent getIntent(Context context) { final String screenTitle = context.getText(R.string.wifi_settings).toString(); final Uri contentUri = new Uri.Builder().appendPath(KEY_WIFI).build(); final Intent intent = DatabaseIndexingUtils.buildSearchResultPageIntent(context, WifiSettings.class.getName(), KEY_WIFI, screenTitle, MetricsEvent.DIALOG_WIFI_AP_EDIT) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); return intent; } private static boolean isWifiEnabled(Context context) { final WifiManager wifiManager = context.getSystemService(WifiManager.class); Loading Loading @@ -159,14 +171,7 @@ public class WifiSliceBuilder { } private static PendingIntent getPrimaryAction(Context context) { final String screenTitle = context.getText(R.string.wifi_settings).toString(); final Uri contentUri = new Uri.Builder().appendPath(KEY_WIFI).build(); final Intent intent = DatabaseIndexingUtils.buildSearchResultPageIntent(context, WifiSettings.class.getName(), KEY_WIFI, screenTitle, MetricsEvent.DIALOG_WIFI_AP_EDIT); intent.setClassName(context.getPackageName(), SubSettings.class.getName()); intent.setData(contentUri); final Intent intent = getIntent(context); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } Loading Loading
src/com/android/settings/bluetooth/BluetoothSliceBuilder.java +12 −9 Original line number Diff line number Diff line Loading @@ -98,6 +98,17 @@ public class BluetoothSliceBuilder { .build(); } public static Intent getIntent(Context context) { final String screenTitle = context.getText(R.string.bluetooth_settings_title).toString(); final Uri contentUri = new Uri.Builder().appendPath( SettingsSlicesContract.KEY_BLUETOOTH).build(); return DatabaseIndexingUtils.buildSearchResultPageIntent(context, BluetoothDashboardFragment.class.getName(), null /* key */, screenTitle, MetricsProto.MetricsEvent.SETTINGS_CONNECTED_DEVICE_CATEGORY) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); } /** * Update the current Bluetooth status to the boolean value keyed by * {@link android.app.slice.Slice#EXTRA_TOGGLE_STATE} on {@param intent}. Loading @@ -119,15 +130,7 @@ public class BluetoothSliceBuilder { } private static PendingIntent getPrimaryAction(Context context) { final String screenTitle = context.getText(R.string.bluetooth_settings_title).toString(); final Uri contentUri = new Uri.Builder().appendPath( SettingsSlicesContract.KEY_BLUETOOTH).build(); final Intent intent = DatabaseIndexingUtils.buildSearchResultPageIntent(context, BluetoothDashboardFragment.class.getName(), null /* key */, screenTitle, MetricsProto.MetricsEvent.SETTINGS_CONNECTED_DEVICE_CATEGORY) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); final Intent intent = getIntent(context); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } Loading
src/com/android/settings/location/LocationSliceBuilder.java +5 −2 Original line number Diff line number Diff line Loading @@ -79,15 +79,18 @@ public class LocationSliceBuilder { .build(); } private static PendingIntent getPrimaryAction(Context context) { public static Intent getIntent(Context context) { final String screenTitle = context.getText(R.string.location_settings_title).toString(); final Uri contentUri = new Uri.Builder().appendPath(KEY_LOCATION).build(); final Intent intent = DatabaseIndexingUtils.buildSearchResultPageIntent(context, return DatabaseIndexingUtils.buildSearchResultPageIntent(context, LocationSettings.class.getName(), KEY_LOCATION, screenTitle, MetricsEvent.LOCATION) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); } private static PendingIntent getPrimaryAction(Context context) { final Intent intent = getIntent(context); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } Loading
src/com/android/settings/notification/ZenModeSliceBuilder.java +12 −10 Original line number Diff line number Diff line Loading @@ -123,6 +123,16 @@ public class ZenModeSliceBuilder { // handle it. } public static Intent getIntent(Context context) { final Uri contentUri = new Uri.Builder().appendPath(ZEN_MODE_KEY).build(); final String screenTitle = context.getText(R.string.zen_mode_settings_title).toString(); return DatabaseIndexingUtils.buildSearchResultPageIntent(context, ZenModeSettings.class.getName(), ZEN_MODE_KEY, screenTitle, MetricsEvent.NOTIFICATION_ZEN_MODE) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); } private static boolean isZenModeEnabled(Context context) { final NotificationManager manager = context.getSystemService(NotificationManager.class); final int zenMode = manager.getZenMode(); Loading @@ -139,16 +149,8 @@ public class ZenModeSliceBuilder { } private static PendingIntent getPrimaryAction(Context context) { final String screenTitle = context.getText(R.string.zen_mode_settings_title).toString(); final Uri contentUri = new Uri.Builder().appendPath(ZEN_MODE_KEY).build(); final Intent intent = DatabaseIndexingUtils.buildSearchResultPageIntent(context, ZenModeSettings.class.getName(), ZEN_MODE_KEY, screenTitle, MetricsEvent.NOTIFICATION_ZEN_MODE) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); final Intent intent = getIntent(context); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } private static PendingIntent getBroadcastIntent(Context context) { Loading
src/com/android/settings/slices/SliceDeepLinkSpringBoard.java +32 −5 Original line number Diff line number Diff line Loading @@ -18,8 +18,16 @@ import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.provider.Settings; import android.util.Log; import com.android.settings.bluetooth.BluetoothSliceBuilder; import com.android.settings.location.LocationSliceBuilder; import com.android.settings.notification.ZenModeSliceBuilder; import com.android.settings.overlay.FeatureFactory; import com.android.settings.wifi.WifiSliceBuilder; import com.android.settings.wifi.calling.WifiCallingSliceHelper; import java.net.URISyntaxException; public class SliceDeepLinkSpringBoard extends Activity { Loading @@ -44,11 +52,26 @@ public class SliceDeepLinkSpringBoard extends Activity { if (ACTION_VIEW_SLICE.equals(intent.getAction())) { // This shouldn't matter since the slice is shown instead of the device // index caring about the launch uri. Uri slice = Uri.parse(intent.getStringExtra(EXTRA_SLICE)); SlicesDatabaseAccessor slicesDatabaseAccessor = new SlicesDatabaseAccessor(this); final Uri slice = Uri.parse(intent.getStringExtra(EXTRA_SLICE)); final Intent launchIntent; // TODO (b/80263568) Avoid duplicating this list of Slice Uris. if (WifiSliceBuilder.WIFI_URI.equals(slice)) { launchIntent = WifiSliceBuilder.getIntent(this /* context */); } else if (ZenModeSliceBuilder.ZEN_MODE_URI.equals(slice)) { launchIntent = ZenModeSliceBuilder.getIntent(this /* context */); } else if (BluetoothSliceBuilder.BLUETOOTH_URI.equals(slice)) { launchIntent = BluetoothSliceBuilder.getIntent(this /* context */); } else if (LocationSliceBuilder.LOCATION_URI.equals(slice)) { launchIntent = LocationSliceBuilder.getIntent(this /* context */); } else { final SlicesDatabaseAccessor slicesDatabaseAccessor = new SlicesDatabaseAccessor(this /* context */); // Sadly have to block here because we don't know where to go. final SliceData sliceData = slicesDatabaseAccessor.getSliceDataFromUri(slice); Intent launchIntent = SliceBuilderUtils.getContentIntent(this, sliceData); launchIntent = SliceBuilderUtils.getContentIntent(this, sliceData); } startActivity(launchIntent); } else { startActivity(intent); Loading @@ -57,6 +80,10 @@ public class SliceDeepLinkSpringBoard extends Activity { } catch (URISyntaxException e) { Log.e(TAG, "Error decoding uri", e); finish(); } catch (IllegalStateException e) { Log.w(TAG, "Couldn't launch Slice intent", e); startActivity(new Intent(Settings.ACTION_SETTINGS)); finish(); } } Loading
src/com/android/settings/wifi/WifiSliceBuilder.java +13 −8 Original line number Diff line number Diff line Loading @@ -121,6 +121,18 @@ public class WifiSliceBuilder { // handle it. } public static Intent getIntent(Context context) { final String screenTitle = context.getText(R.string.wifi_settings).toString(); final Uri contentUri = new Uri.Builder().appendPath(KEY_WIFI).build(); final Intent intent = DatabaseIndexingUtils.buildSearchResultPageIntent(context, WifiSettings.class.getName(), KEY_WIFI, screenTitle, MetricsEvent.DIALOG_WIFI_AP_EDIT) .setClassName(context.getPackageName(), SubSettings.class.getName()) .setData(contentUri); return intent; } private static boolean isWifiEnabled(Context context) { final WifiManager wifiManager = context.getSystemService(WifiManager.class); Loading Loading @@ -159,14 +171,7 @@ public class WifiSliceBuilder { } private static PendingIntent getPrimaryAction(Context context) { final String screenTitle = context.getText(R.string.wifi_settings).toString(); final Uri contentUri = new Uri.Builder().appendPath(KEY_WIFI).build(); final Intent intent = DatabaseIndexingUtils.buildSearchResultPageIntent(context, WifiSettings.class.getName(), KEY_WIFI, screenTitle, MetricsEvent.DIALOG_WIFI_AP_EDIT); intent.setClassName(context.getPackageName(), SubSettings.class.getName()); intent.setData(contentUri); final Intent intent = getIntent(context); return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */); } Loading