Loading packages/CompanionDeviceManager/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ license { android_app { name: "CompanionDeviceManager", defaults: ["platform_app_defaults"], certificate: "platform", srcs: ["src/**/*.java"], static_libs: [ Loading packages/CompanionDeviceManager/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ <uses-permission android:name="android.permission.RADIO_SCAN_WITHOUT_LOCATION"/> <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/> <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/> <application android:allowClearUserData="true" Loading packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java +22 −6 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.companion.AssociationRequest; import android.companion.CompanionDeviceManager; import android.companion.IAssociationRequestCallback; import android.content.Intent; import android.content.pm.PackageManager; import android.net.MacAddress; import android.os.Bundle; import android.os.Handler; Loading Loading @@ -71,6 +72,9 @@ public class CompanionDeviceActivity extends AppCompatActivity { private static final String EXTRA_ASSOCIATION_REQUEST = "association_request"; private static final String EXTRA_RESULT_RECEIVER = "result_receiver"; // Activity result: Internal Error. private static final int RESULT_INTERNAL_ERROR = 2; // AssociationRequestsProcessor -> UI private static final int RESULT_CODE_ASSOCIATION_CREATED = 0; private static final String EXTRA_ASSOCIATION = "association"; Loading Loading @@ -191,6 +195,20 @@ public class CompanionDeviceActivity extends AppCompatActivity { private void initUI() { if (DEBUG) Log.d(TAG, "initUI(), request=" + mRequest); final String packageName = mRequest.getPackageName(); final int userId = mRequest.getUserId(); final CharSequence appLabel; try { appLabel = getApplicationLabel(this, packageName, userId); } catch (PackageManager.NameNotFoundException e) { Log.w(TAG, "Package u" + userId + "/" + packageName + " not found."); CompanionDeviceDiscoveryService.stop(this); setResultAndFinish(null, RESULT_INTERNAL_ERROR); return; } setContentView(R.layout.activity_confirmation); mTitle = findViewById(R.id.title); Loading @@ -203,8 +221,6 @@ public class CompanionDeviceActivity extends AppCompatActivity { mButtonAllow.setOnClickListener(this::onPositiveButtonClick); findViewById(R.id.btn_negative).setOnClickListener(this::onNegativeButtonClick); final CharSequence appLabel = getApplicationLabel(this, mRequest.getPackageName()); if (mRequest.isSelfManaged()) { initUiForSelfManagedAssociation(appLabel); } else if (mRequest.isSingleDevice()) { Loading Loading @@ -257,7 +273,7 @@ public class CompanionDeviceActivity extends AppCompatActivity { if (DEBUG) Log.i(TAG, "onAssociationCreated(), association=" + association); // Don't need to notify the app, CdmService has already done that. Just finish. setResultAndFinish(association); setResultAndFinish(association, RESULT_OK); } private void cancel(boolean discoveryTimeout) { Loading @@ -284,10 +300,10 @@ public class CompanionDeviceActivity extends AppCompatActivity { } // ... then set result and finish ("sending" onActivityResult()). setResultAndFinish(null); setResultAndFinish(null, RESULT_CANCELED); } private void setResultAndFinish(@Nullable AssociationInfo association) { private void setResultAndFinish(@Nullable AssociationInfo association, int resultCode) { if (DEBUG) Log.i(TAG, "setResultAndFinish(), association=" + association); final Intent data = new Intent(); Loading @@ -297,7 +313,7 @@ public class CompanionDeviceActivity extends AppCompatActivity { data.putExtra(CompanionDeviceManager.EXTRA_DEVICE, mSelectedDevice.getDevice()); } } setResult(association != null ? RESULT_OK : RESULT_CANCELED, data); setResult(resultCode, data); finish(); } Loading packages/CompanionDeviceManager/src/com/android/companiondevicemanager/Utils.java +6 −7 Original line number Diff line number Diff line Loading @@ -50,14 +50,13 @@ class Utils { } static @NonNull CharSequence getApplicationLabel( @NonNull Context context, @NonNull String packageName) { @NonNull Context context, @NonNull String packageName, int userId) throws PackageManager.NameNotFoundException { final PackageManager packageManager = context.getPackageManager(); final ApplicationInfo appInfo; try { appInfo = packageManager.getApplicationInfo(packageName, 0); } catch (PackageManager.NameNotFoundException e) { throw new RuntimeException(e); } final ApplicationInfo appInfo = packageManager.getApplicationInfoAsUser( packageName, PackageManager.ApplicationInfoFlags.of(0), userId); return packageManager.getApplicationLabel(appInfo); } Loading Loading
packages/CompanionDeviceManager/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ license { android_app { name: "CompanionDeviceManager", defaults: ["platform_app_defaults"], certificate: "platform", srcs: ["src/**/*.java"], static_libs: [ Loading
packages/CompanionDeviceManager/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ <uses-permission android:name="android.permission.RADIO_SCAN_WITHOUT_LOCATION"/> <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/> <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/> <application android:allowClearUserData="true" Loading
packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java +22 −6 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.companion.AssociationRequest; import android.companion.CompanionDeviceManager; import android.companion.IAssociationRequestCallback; import android.content.Intent; import android.content.pm.PackageManager; import android.net.MacAddress; import android.os.Bundle; import android.os.Handler; Loading Loading @@ -71,6 +72,9 @@ public class CompanionDeviceActivity extends AppCompatActivity { private static final String EXTRA_ASSOCIATION_REQUEST = "association_request"; private static final String EXTRA_RESULT_RECEIVER = "result_receiver"; // Activity result: Internal Error. private static final int RESULT_INTERNAL_ERROR = 2; // AssociationRequestsProcessor -> UI private static final int RESULT_CODE_ASSOCIATION_CREATED = 0; private static final String EXTRA_ASSOCIATION = "association"; Loading Loading @@ -191,6 +195,20 @@ public class CompanionDeviceActivity extends AppCompatActivity { private void initUI() { if (DEBUG) Log.d(TAG, "initUI(), request=" + mRequest); final String packageName = mRequest.getPackageName(); final int userId = mRequest.getUserId(); final CharSequence appLabel; try { appLabel = getApplicationLabel(this, packageName, userId); } catch (PackageManager.NameNotFoundException e) { Log.w(TAG, "Package u" + userId + "/" + packageName + " not found."); CompanionDeviceDiscoveryService.stop(this); setResultAndFinish(null, RESULT_INTERNAL_ERROR); return; } setContentView(R.layout.activity_confirmation); mTitle = findViewById(R.id.title); Loading @@ -203,8 +221,6 @@ public class CompanionDeviceActivity extends AppCompatActivity { mButtonAllow.setOnClickListener(this::onPositiveButtonClick); findViewById(R.id.btn_negative).setOnClickListener(this::onNegativeButtonClick); final CharSequence appLabel = getApplicationLabel(this, mRequest.getPackageName()); if (mRequest.isSelfManaged()) { initUiForSelfManagedAssociation(appLabel); } else if (mRequest.isSingleDevice()) { Loading Loading @@ -257,7 +273,7 @@ public class CompanionDeviceActivity extends AppCompatActivity { if (DEBUG) Log.i(TAG, "onAssociationCreated(), association=" + association); // Don't need to notify the app, CdmService has already done that. Just finish. setResultAndFinish(association); setResultAndFinish(association, RESULT_OK); } private void cancel(boolean discoveryTimeout) { Loading @@ -284,10 +300,10 @@ public class CompanionDeviceActivity extends AppCompatActivity { } // ... then set result and finish ("sending" onActivityResult()). setResultAndFinish(null); setResultAndFinish(null, RESULT_CANCELED); } private void setResultAndFinish(@Nullable AssociationInfo association) { private void setResultAndFinish(@Nullable AssociationInfo association, int resultCode) { if (DEBUG) Log.i(TAG, "setResultAndFinish(), association=" + association); final Intent data = new Intent(); Loading @@ -297,7 +313,7 @@ public class CompanionDeviceActivity extends AppCompatActivity { data.putExtra(CompanionDeviceManager.EXTRA_DEVICE, mSelectedDevice.getDevice()); } } setResult(association != null ? RESULT_OK : RESULT_CANCELED, data); setResult(resultCode, data); finish(); } Loading
packages/CompanionDeviceManager/src/com/android/companiondevicemanager/Utils.java +6 −7 Original line number Diff line number Diff line Loading @@ -50,14 +50,13 @@ class Utils { } static @NonNull CharSequence getApplicationLabel( @NonNull Context context, @NonNull String packageName) { @NonNull Context context, @NonNull String packageName, int userId) throws PackageManager.NameNotFoundException { final PackageManager packageManager = context.getPackageManager(); final ApplicationInfo appInfo; try { appInfo = packageManager.getApplicationInfo(packageName, 0); } catch (PackageManager.NameNotFoundException e) { throw new RuntimeException(e); } final ApplicationInfo appInfo = packageManager.getApplicationInfoAsUser( packageName, PackageManager.ApplicationInfoFlags.of(0), userId); return packageManager.getApplicationLabel(appInfo); } Loading