properly track ContentObservers so they can be unregistered
This commit is contained in:
parent
8209bf9a0b
commit
6887e09d88
@ -40,7 +40,6 @@ import android.util.Log;
|
|||||||
import org.fdroid.fdroid.views.main.MainActivity;
|
import org.fdroid.fdroid.views.main.MainActivity;
|
||||||
import org.fdroid.fdroid.views.main.NearbyViewBinder;
|
import org.fdroid.fdroid.views.main.NearbyViewBinder;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is just a shim to receive {@link UsbManager#ACTION_USB_ACCESSORY_ATTACHED}
|
* This is just a shim to receive {@link UsbManager#ACTION_USB_ACCESSORY_ATTACHED}
|
||||||
@ -49,7 +48,6 @@ import java.util.HashMap;
|
|||||||
public class UsbDeviceAttachedReceiver extends BroadcastReceiver {
|
public class UsbDeviceAttachedReceiver extends BroadcastReceiver {
|
||||||
public static final String TAG = "UsbDeviceAttachedReceiv";
|
public static final String TAG = "UsbDeviceAttachedReceiv";
|
||||||
|
|
||||||
private static final HashMap<Uri, ContentObserver> contentObservers = new HashMap<>();
|
|
||||||
|
|
||||||
@RequiresApi(api = 19)
|
@RequiresApi(api = 19)
|
||||||
@Override
|
@Override
|
||||||
@ -77,6 +75,7 @@ public class UsbDeviceAttachedReceiver extends BroadcastReceiver {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
contentResolver.registerContentObserver(uri, true, contentObserver);
|
contentResolver.registerContentObserver(uri, true, contentObserver);
|
||||||
|
UsbDeviceDetachedReceiver.contentObservers.put(uri, contentObserver);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,25 +19,17 @@
|
|||||||
|
|
||||||
package org.fdroid.fdroid.nearby;
|
package org.fdroid.fdroid.nearby;
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.ComponentName;
|
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
|
||||||
import android.content.UriPermission;
|
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.hardware.usb.UsbManager;
|
import android.hardware.usb.UsbManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
|
||||||
import android.os.Handler;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.annotation.RequiresApi;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import org.fdroid.fdroid.views.main.MainActivity;
|
import androidx.annotation.RequiresApi;
|
||||||
import org.fdroid.fdroid.views.main.NearbyViewBinder;
|
import org.fdroid.fdroid.views.main.NearbyViewBinder;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -49,7 +41,7 @@ import java.util.HashMap;
|
|||||||
public class UsbDeviceDetachedReceiver extends BroadcastReceiver {
|
public class UsbDeviceDetachedReceiver extends BroadcastReceiver {
|
||||||
public static final String TAG = "UsbDeviceDetachedReceiv";
|
public static final String TAG = "UsbDeviceDetachedReceiv";
|
||||||
|
|
||||||
private static final HashMap<Uri, ContentObserver> contentObservers = new HashMap<>();
|
static final HashMap<Uri, ContentObserver> contentObservers = new HashMap<>();
|
||||||
|
|
||||||
@RequiresApi(api = 19)
|
@RequiresApi(api = 19)
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user