Fix NPE for CompanionDeviceActivity.setResultAndFinish()

Fix: 205274846
Test: atest CompanionDeviceManagerTest
Change-Id: Icecd76d6ff5a81afdcdb7d584ae3ecff51ac5dc3
diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java
index edbfd2a..a5168cc 100644
--- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java
+++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java
@@ -78,6 +78,7 @@
 
         getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
         sInstance = this;
+        getService().mActivity = this;
 
         String deviceProfile = getRequest().getDeviceProfile();
         String profilePrivacyDisclaimer = emptyIfNull(getRequest()
@@ -141,8 +142,6 @@
             profileSummary.setVisibility(View.GONE);
         }
 
-        getService().mActivity = this;
-
         mCancelButton = findViewById(R.id.button_cancel);
         mCancelButton.setOnClickListener(v -> cancel());
     }
@@ -194,6 +193,7 @@
     @Override
     protected void onDestroy() {
         super.onDestroy();
+        getService().mActivity = null;
         if (sInstance == this) {
             sInstance = null;
         }
diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java
index 4ac217a..9f07317 100644
--- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java
+++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java
@@ -257,12 +257,8 @@
         if (!mIsScanning) return;
         mIsScanning = false;
 
-        CompanionDeviceActivity activity = mActivity;
-        if (activity != null) {
-            if (activity.mDeviceListView != null) {
-                activity.mDeviceListView.removeFooterView(activity.mLoadingIndicator);
-            }
-            mActivity = null;
+        if (mActivity != null && mActivity.mDeviceListView != null) {
+            mActivity.mDeviceListView.removeFooterView(mActivity.mLoadingIndicator);
         }
 
         mBluetoothAdapter.cancelDiscovery();
@@ -334,6 +330,7 @@
 
     void onCancel() {
         if (DEBUG) Log.i(LOG_TAG, "onCancel()");
+        mActivity = null;
         mServiceCallback.cancel(true);
     }