summaryrefslogtreecommitdiffstats
path: root/Settings
diff options
context:
space:
mode:
authorTony Mantler <nicoya@google.com>2015-07-15 15:41:49 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-07-15 15:41:50 +0000
commitce1534283efd29978733a93137b537e825acf3de (patch)
treec1fbbbf4972d1fad9b6b7b49b7678523a389ed8d /Settings
parent7caeee2440ac67193c5ee9c56b0727a919e8d264 (diff)
parentb168640c1c16593b6ca7ff1816a56600831b95f3 (diff)
downloadandroid_packages_apps_TvSettings-ce1534283efd29978733a93137b537e825acf3de.tar.gz
android_packages_apps_TvSettings-ce1534283efd29978733a93137b537e825acf3de.tar.bz2
android_packages_apps_TvSettings-ce1534283efd29978733a93137b537e825acf3de.zip
Merge "Scan storage volumes post-setup" into mnc-dev
Diffstat (limited to 'Settings')
-rw-r--r--Settings/AndroidManifest.xml1
-rw-r--r--Settings/src/com/android/tv/settings/device/storage/NewStorageActivity.java47
2 files changed, 48 insertions, 0 deletions
diff --git a/Settings/AndroidManifest.xml b/Settings/AndroidManifest.xml
index c27d3f52..567d9478 100644
--- a/Settings/AndroidManifest.xml
+++ b/Settings/AndroidManifest.xml
@@ -483,6 +483,7 @@
<intent-filter>
<action android:name="android.os.storage.action.DISK_SCANNED" />
<action android:name="android.os.storage.action.VOLUME_STATE_CHANGED" />
+ <action android:name="com.google.android.tungsten.setupwraith.TV_SETTINGS_POST_SETUP" />
</intent-filter>
</receiver>
diff --git a/Settings/src/com/android/tv/settings/device/storage/NewStorageActivity.java b/Settings/src/com/android/tv/settings/device/storage/NewStorageActivity.java
index 9a313daa..df867ce2 100644
--- a/Settings/src/com/android/tv/settings/device/storage/NewStorageActivity.java
+++ b/Settings/src/com/android/tv/settings/device/storage/NewStorageActivity.java
@@ -284,6 +284,9 @@ public class NewStorageActivity extends Activity {
}
} else if (TextUtils.equals(intent.getAction(), DiskInfo.ACTION_DISK_SCANNED)) {
handleScan(context, intent);
+ } else if (TextUtils.equals(intent.getAction(),
+ "com.google.android.tungsten.setupwraith.TV_SETTINGS_POST_SETUP")) {
+ handleSetupComplete(context);
}
}
@@ -354,6 +357,50 @@ public class NewStorageActivity extends Activity {
}
}
+ private void handleSetupComplete(Context context) {
+ Log.d(TAG, "Scanning for storage post-setup");
+
+ final List<DiskInfo> diskInfos = mStorageManager.getDisks();
+ for (DiskInfo diskInfo : diskInfos) {
+ Log.d(TAG, "Scanning disk: " + diskInfo);
+ if (diskInfo.size <= 0) {
+ Log.d(TAG, "Disk ID " + diskInfo.id + " has no media");
+ continue;
+ }
+ if (diskInfo.volumeCount != 0) {
+ Log.d(TAG, "Disk ID " + diskInfo.id + " has usable volumes, deferring");
+ continue;
+ }
+ // No usable volumes, prompt the user to erase the disk
+ final Intent i =
+ NewStorageActivity.getNewStorageLaunchIntent(context, null, diskInfo.id);
+ setPopupLaunchFlags(i);
+ context.startActivity(i);
+ return;
+ }
+
+ final List<VolumeInfo> volumeInfos = mStorageManager.getVolumes();
+ for (final VolumeInfo info : volumeInfos) {
+ final String uuid = info.getFsUuid();
+ Log.d(TAG, "Scanning volume: " + info);
+ if (info.getType() != VolumeInfo.TYPE_PUBLIC || TextUtils.isEmpty(uuid)) {
+ continue;
+ }
+ final VolumeRecord record = mStorageManager.findRecordByUuid(uuid);
+ if (record.isInited() || record.isSnoozed()) {
+ continue;
+ }
+ final DiskInfo disk = info.getDisk();
+ if (disk.isAdoptable()) {
+ final Intent i = NewStorageActivity.getNewStorageLaunchIntent(context,
+ info.getId(), disk.getId());
+ setPopupLaunchFlags(i);
+ context.startActivity(i);
+ return;
+ }
+ }
+ }
+
private void setPopupLaunchFlags(Intent intent) {
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
}