diff options
Diffstat (limited to 'packages/CompanionDeviceManager/src')
3 files changed, 43 insertions, 82 deletions
diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java index e00533422072..61173306180e 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java @@ -440,12 +440,13 @@ public class CompanionAssociationActivity extends FragmentActivity implements return; } - title = getHtmlFromResources(this, PROFILE_TITLES.get(deviceProfile), deviceName); + title = getHtmlFromResources(this, PROFILE_TITLES.get(deviceProfile), mAppLabel, + getString(R.string.device_type), deviceName); if (PROFILE_SUMMARIES.containsKey(deviceProfile)) { final int summaryResourceId = PROFILE_SUMMARIES.get(deviceProfile); final Spanned summary = getHtmlFromResources(this, summaryResourceId, - deviceName); + mAppLabel, getString(R.string.device_type), deviceName); mSummary.setText(summary); } else { mSummary.setVisibility(View.GONE); @@ -646,6 +647,11 @@ public class CompanionAssociationActivity extends FragmentActivity implements // and when mPermissionListRecyclerView is fully populated. // Lastly, disable the Allow and Don't allow buttons. private void setupPermissionList(String deviceProfile) { + if (!PROFILE_PERMISSIONS.containsKey(deviceProfile)) { + // Nothing to do if there are no permission types. + return; + } + final List<Integer> permissionTypes = new ArrayList<>( PROFILE_PERMISSIONS.get(deviceProfile)); if (permissionTypes.isEmpty()) { diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceResources.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceResources.java index dc68bccc8f0a..37b1f297f90b 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceResources.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceResources.java @@ -27,13 +27,11 @@ import static android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE; import static java.util.Collections.unmodifiableMap; import static java.util.Collections.unmodifiableSet; -import android.companion.virtual.flags.Flags; import android.os.Build; import android.util.ArrayMap; import android.util.ArraySet; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; @@ -47,31 +45,27 @@ final class CompanionDeviceResources { // Permission resources private static final int PERMISSION_NOTIFICATION_LISTENER_ACCESS = 0; private static final int PERMISSION_STORAGE = 1; - private static final int PERMISSION_APP_STREAMING = 2; - private static final int PERMISSION_PHONE = 3; - private static final int PERMISSION_SMS = 4; - private static final int PERMISSION_CONTACTS = 5; - private static final int PERMISSION_CALENDAR = 6; - private static final int PERMISSION_NEARBY_DEVICES = 7; - private static final int PERMISSION_NEARBY_DEVICE_STREAMING = 8; - private static final int PERMISSION_MICROPHONE = 9; - private static final int PERMISSION_CALL_LOGS = 10; + private static final int PERMISSION_PHONE = 2; + private static final int PERMISSION_SMS = 3; + private static final int PERMISSION_CONTACTS = 4; + private static final int PERMISSION_CALENDAR = 5; + private static final int PERMISSION_NEARBY_DEVICES = 6; + private static final int PERMISSION_MICROPHONE = 7; + private static final int PERMISSION_CALL_LOGS = 8; // Notification Listener Access & POST_NOTIFICATION permission - private static final int PERMISSION_NOTIFICATIONS = 11; - private static final int PERMISSION_CHANGE_MEDIA_OUTPUT = 12; + private static final int PERMISSION_NOTIFICATIONS = 9; + private static final int PERMISSION_CHANGE_MEDIA_OUTPUT = 10; static final Map<Integer, Integer> PERMISSION_TITLES; static { final Map<Integer, Integer> map = new ArrayMap<>(); map.put(PERMISSION_NOTIFICATION_LISTENER_ACCESS, R.string.permission_notifications); map.put(PERMISSION_STORAGE, R.string.permission_storage); - map.put(PERMISSION_APP_STREAMING, R.string.permission_app_streaming); map.put(PERMISSION_PHONE, R.string.permission_phone); map.put(PERMISSION_SMS, R.string.permission_sms); map.put(PERMISSION_CONTACTS, R.string.permission_contacts); map.put(PERMISSION_CALENDAR, R.string.permission_calendar); map.put(PERMISSION_NEARBY_DEVICES, R.string.permission_nearby_devices); - map.put(PERMISSION_NEARBY_DEVICE_STREAMING, R.string.permission_nearby_device_streaming); map.put(PERMISSION_MICROPHONE, R.string.permission_microphone); map.put(PERMISSION_CALL_LOGS, R.string.permission_call_logs); map.put(PERMISSION_NOTIFICATIONS, R.string.permission_notifications); @@ -85,14 +79,11 @@ final class CompanionDeviceResources { map.put(PERMISSION_NOTIFICATION_LISTENER_ACCESS, R.string.permission_notification_listener_access_summary); map.put(PERMISSION_STORAGE, R.string.permission_storage_summary); - map.put(PERMISSION_APP_STREAMING, R.string.permission_app_streaming_summary); map.put(PERMISSION_PHONE, R.string.permission_phone_summary); map.put(PERMISSION_SMS, R.string.permission_sms_summary); map.put(PERMISSION_CONTACTS, R.string.permission_contacts_summary); map.put(PERMISSION_CALENDAR, R.string.permission_calendar_summary); map.put(PERMISSION_NEARBY_DEVICES, R.string.permission_nearby_devices_summary); - map.put(PERMISSION_NEARBY_DEVICE_STREAMING, - R.string.permission_nearby_device_streaming_summary); map.put(PERMISSION_MICROPHONE, R.string.permission_microphone_summary); map.put(PERMISSION_CALL_LOGS, R.string.permission_call_logs_summary); map.put(PERMISSION_NOTIFICATIONS, R.string.permission_notifications_summary); @@ -105,14 +96,11 @@ final class CompanionDeviceResources { final Map<Integer, Integer> map = new ArrayMap<>(); map.put(PERMISSION_NOTIFICATION_LISTENER_ACCESS, R.drawable.ic_permission_notifications); map.put(PERMISSION_STORAGE, R.drawable.ic_permission_storage); - map.put(PERMISSION_APP_STREAMING, R.drawable.ic_permission_app_streaming); map.put(PERMISSION_PHONE, R.drawable.ic_permission_phone); map.put(PERMISSION_SMS, R.drawable.ic_permission_sms); map.put(PERMISSION_CONTACTS, R.drawable.ic_permission_contacts); map.put(PERMISSION_CALENDAR, R.drawable.ic_permission_calendar); map.put(PERMISSION_NEARBY_DEVICES, R.drawable.ic_permission_nearby_devices); - map.put(PERMISSION_NEARBY_DEVICE_STREAMING, - R.drawable.ic_permission_nearby_device_streaming); map.put(PERMISSION_MICROPHONE, R.drawable.ic_permission_microphone); map.put(PERMISSION_CALL_LOGS, R.drawable.ic_permission_call_logs); map.put(PERMISSION_NOTIFICATIONS, R.drawable.ic_permission_notifications); @@ -124,19 +112,10 @@ final class CompanionDeviceResources { static final Map<String, Integer> PROFILE_TITLES; static { final Map<String, Integer> map = new ArrayMap<>(); - if (Flags.interactiveScreenMirror()) { - map.put(DEVICE_PROFILE_APP_STREAMING, R.string.title_app_streaming_with_mirroring); - } else { - map.put(DEVICE_PROFILE_APP_STREAMING, R.string.title_app_streaming); - } + map.put(DEVICE_PROFILE_APP_STREAMING, R.string.title_app_streaming); map.put(DEVICE_PROFILE_AUTOMOTIVE_PROJECTION, R.string.title_automotive_projection); map.put(DEVICE_PROFILE_COMPUTER, R.string.title_computer); - if (Flags.interactiveScreenMirror()) { - map.put(DEVICE_PROFILE_NEARBY_DEVICE_STREAMING, - R.string.title_nearby_device_streaming_with_mirroring); - } else { - map.put(DEVICE_PROFILE_NEARBY_DEVICE_STREAMING, R.string.title_nearby_device_streaming); - } + map.put(DEVICE_PROFILE_NEARBY_DEVICE_STREAMING, R.string.title_nearby_device_streaming); map.put(DEVICE_PROFILE_WATCH, R.string.confirmation_title); map.put(DEVICE_PROFILE_GLASSES, R.string.confirmation_title_glasses); map.put(null, R.string.confirmation_title); @@ -149,29 +128,29 @@ final class CompanionDeviceResources { final Map<String, Integer> map = new ArrayMap<>(); map.put(DEVICE_PROFILE_WATCH, R.string.summary_watch); map.put(DEVICE_PROFILE_GLASSES, R.string.summary_glasses); - if (Flags.interactiveScreenMirror()) { - map.put(DEVICE_PROFILE_APP_STREAMING, R.string.summary_app_streaming); - map.put(DEVICE_PROFILE_NEARBY_DEVICE_STREAMING, - R.string.summary_nearby_device_streaming); - } + map.put(DEVICE_PROFILE_APP_STREAMING, R.string.summary_app_streaming); + map.put(DEVICE_PROFILE_NEARBY_DEVICE_STREAMING, R.string.summary_nearby_device_streaming); map.put(null, R.string.summary_generic); PROFILE_SUMMARIES = unmodifiableMap(map); } + static final Map<String, Integer> PROFILE_HELPER_SUMMARIES; + static { + final Map<String, Integer> map = new ArrayMap<>(); + map.put(DEVICE_PROFILE_APP_STREAMING, R.string.helper_summary_app_streaming); + map.put(DEVICE_PROFILE_NEARBY_DEVICE_STREAMING, + R.string.helper_summary_nearby_device_streaming); + map.put(DEVICE_PROFILE_COMPUTER, R.string.helper_summary_computer); + + PROFILE_HELPER_SUMMARIES = unmodifiableMap(map); + } + static final Map<String, List<Integer>> PROFILE_PERMISSIONS; static { final Map<String, List<Integer>> map = new ArrayMap<>(); map.put(DEVICE_PROFILE_COMPUTER, Arrays.asList( PERMISSION_NOTIFICATION_LISTENER_ACCESS, PERMISSION_STORAGE)); - if (Flags.interactiveScreenMirror()) { - map.put(DEVICE_PROFILE_APP_STREAMING, Collections.emptyList()); - map.put(DEVICE_PROFILE_NEARBY_DEVICE_STREAMING, Collections.emptyList()); - } else { - map.put(DEVICE_PROFILE_APP_STREAMING, Arrays.asList(PERMISSION_APP_STREAMING)); - map.put(DEVICE_PROFILE_NEARBY_DEVICE_STREAMING, - Arrays.asList(PERMISSION_NEARBY_DEVICE_STREAMING)); - } if (Build.VERSION.SDK_INT > UPSIDE_DOWN_CAKE) { map.put(DEVICE_PROFILE_WATCH, Arrays.asList(PERMISSION_NOTIFICATIONS, PERMISSION_PHONE, PERMISSION_CALL_LOGS, PERMISSION_SMS, PERMISSION_CONTACTS, PERMISSION_CALENDAR, diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionVendorHelperDialogFragment.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionVendorHelperDialogFragment.java index fe0e021b363c..ec92987e7e87 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionVendorHelperDialogFragment.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionVendorHelperDialogFragment.java @@ -16,17 +16,13 @@ package com.android.companiondevicemanager; -import static android.companion.AssociationRequest.DEVICE_PROFILE_APP_STREAMING; -import static android.companion.AssociationRequest.DEVICE_PROFILE_COMPUTER; -import static android.companion.AssociationRequest.DEVICE_PROFILE_NEARBY_DEVICE_STREAMING; - +import static com.android.companiondevicemanager.CompanionDeviceResources.PROFILE_HELPER_SUMMARIES; import static com.android.companiondevicemanager.Utils.getApplicationIcon; import static com.android.companiondevicemanager.Utils.getApplicationLabel; import static com.android.companiondevicemanager.Utils.getHtmlFromResources; import android.annotation.Nullable; import android.companion.AssociationRequest; -import android.companion.virtual.flags.Flags; import android.content.DialogInterface; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; @@ -105,7 +101,7 @@ public class CompanionVendorHelperDialogFragment extends DialogFragment { final String deviceProfile = request.getDeviceProfile(); final String packageName = request.getPackageName(); - final CharSequence displayName = request.getDisplayName(); + final CharSequence deviceName = request.getDisplayName(); final int userId = request.getUserId(); final CharSequence appLabel; @@ -123,37 +119,17 @@ public class CompanionVendorHelperDialogFragment extends DialogFragment { mAppIcon = view.findViewById(R.id.app_icon); mButton = view.findViewById(R.id.btn_back); - final CharSequence title; - final Spanned summary; - - switch (deviceProfile) { - case DEVICE_PROFILE_APP_STREAMING: - title = getHtmlFromResources(getContext(), R.string.helper_title_app_streaming); - summary = getHtmlFromResources( - getContext(), Flags.interactiveScreenMirror() - ? R.string.helper_summary_app_streaming_with_mirroring - : R.string.helper_summary_app_streaming, title, displayName); - break; - - case DEVICE_PROFILE_COMPUTER: - title = getHtmlFromResources(getContext(), R.string.helper_title_computer); - summary = getHtmlFromResources( - getContext(), R.string.helper_summary_computer, title, displayName); - break; - - case DEVICE_PROFILE_NEARBY_DEVICE_STREAMING: - title = appLabel; - summary = getHtmlFromResources( - getContext(), R.string.helper_summary_nearby_device_streaming, title, - displayName); - break; - - default: - throw new RuntimeException("Unsupported profile " + deviceProfile); + if (PROFILE_HELPER_SUMMARIES.containsKey(deviceProfile)) { + final int summaryResourceId = PROFILE_HELPER_SUMMARIES.get(deviceProfile); + final Spanned summary = getHtmlFromResources( + getContext(), summaryResourceId, appLabel, deviceName, + getString(R.string.device_type)); + mSummary.setText(summary); + } else { + throw new RuntimeException("Unsupported profile " + deviceProfile); } - mTitle.setText(title); - mSummary.setText(summary); + mTitle.setText(appLabel); mAppIcon.setImageDrawable(applicationIcon); mButton.setOnClickListener(v -> { |