summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDu, Changbin <changbin.du@intel.com>2015-12-17 10:26:26 +0800
committerGerrit Code Review <gerrit@cyanogenmod.org>2015-12-26 08:22:48 -0800
commit09b4c0c98133888587279b032fece15fc74efb74 (patch)
tree9b15a083e4265e4a8c55955c55804d73ab40a533
parent59f77c503bfe7ae53c85e43971951d821ee3f649 (diff)
downloadpackages_apps_Settings-09b4c0c98133888587279b032fece15fc74efb74.zip
packages_apps_Settings-09b4c0c98133888587279b032fece15fc74efb74.tar.gz
packages_apps_Settings-09b4c0c98133888587279b032fece15fc74efb74.tar.bz2
Hide usb mode chooser dialog after disconnected
Add a UsbDisconnectedReceiver to listen usb state event, and hide the usb mode chooser dialog if usb disconnected. Change-Id: I871f56cb5a310e20950926180d9747dd9fad9754 Signed-off-by: Du, Changbin <changbin.du@intel.com> Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
-rw-r--r--src/com/android/settings/deviceinfo/UsbModeChooserActivity.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java
index 77fc388..1105718 100644
--- a/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java
+++ b/src/com/android/settings/deviceinfo/UsbModeChooserActivity.java
@@ -20,7 +20,12 @@ import android.annotation.Nullable;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.AlertDialog;
+import android.content.BroadcastReceiver;
+import android.content.Context;
import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.hardware.usb.UsbManager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -49,6 +54,19 @@ public class UsbModeChooserActivity extends Activity {
private AlertDialog mDialog;
private LayoutInflater mLayoutInflater;
+ private BroadcastReceiver mDisconnectedReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String action = intent.getAction();
+ if (UsbManager.ACTION_USB_STATE.equals(action)) {
+ boolean connected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
+ if (!connected) {
+ mDialog.dismiss();
+ }
+ }
+ }
+ };
+
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -84,6 +102,20 @@ public class UsbModeChooserActivity extends Activity {
}
}
+ @Override
+ public void onStart() {
+ super.onStart();
+
+ IntentFilter filter = new IntentFilter(UsbManager.ACTION_USB_STATE);
+ registerReceiver(mDisconnectedReceiver, filter);
+ }
+
+ @Override
+ protected void onStop() {
+ unregisterReceiver(mDisconnectedReceiver);
+ super.onStop();
+ }
+
private void inflateOption(final int mode, boolean selected, LinearLayout container) {
View v = mLayoutInflater.inflate(R.layout.radio_with_summary, container, false);