summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/ingest
diff options
context:
space:
mode:
authorBobby Georgescu <georgescu@google.com>2013-01-17 12:30:06 -0800
committerBobby Georgescu <georgescu@google.com>2013-01-17 17:06:50 -0800
commit188a7505a3e864fe19684ccf174978b89f42ae65 (patch)
tree2125bedfdb5ba1c2ce21de1a8a8492e3ac462f3c /src/com/android/gallery3d/ingest
parentcdbd61532909eb2168c74b6a9d0e0aa5b95c0274 (diff)
downloadandroid_packages_apps_Snap-188a7505a3e864fe19684ccf174978b89f42ae65.tar.gz
android_packages_apps_Snap-188a7505a3e864fe19684ccf174978b89f42ae65.tar.bz2
android_packages_apps_Snap-188a7505a3e864fe19684ccf174978b89f42ae65.zip
Show status in importer for empty or no device
Bug: 8000251 Change-Id: Iefbbe6df59f432ffeb10ac9fa846a8908584ab58
Diffstat (limited to 'src/com/android/gallery3d/ingest')
-rw-r--r--src/com/android/gallery3d/ingest/IngestActivity.java48
-rw-r--r--src/com/android/gallery3d/ingest/MtpDeviceIndex.java4
-rw-r--r--src/com/android/gallery3d/ingest/adapter/MtpAdapter.java8
3 files changed, 55 insertions, 5 deletions
diff --git a/src/com/android/gallery3d/ingest/IngestActivity.java b/src/com/android/gallery3d/ingest/IngestActivity.java
index feaf465c3..4e603bed3 100644
--- a/src/com/android/gallery3d/ingest/IngestActivity.java
+++ b/src/com/android/gallery3d/ingest/IngestActivity.java
@@ -37,6 +37,7 @@ import android.widget.AbsListView.MultiChoiceModeListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
+import android.widget.TextView;
import com.android.gallery3d.R;
import com.android.gallery3d.ingest.adapter.MtpAdapter;
@@ -56,6 +57,9 @@ public class IngestActivity extends Activity implements
private ProgressDialog mProgressDialog;
private ActionMode mActiveActionMode;
+ private View mWarningOverlay;
+ private TextView mWarningOverlayText;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -171,6 +175,7 @@ public class IngestActivity extends Activity implements
DateTileView.refreshLocale();
mActive = true;
if (mHelperService != null) mHelperService.setClientActivity(this);
+ updateWarningOverlay();
super.onResume();
}
@@ -182,12 +187,45 @@ public class IngestActivity extends Activity implements
super.onPause();
}
- protected void notifyIndexChanged() {
+ private void showWarningOverlay(int textResId) {
+ if (mWarningOverlay == null) {
+ mWarningOverlay = findViewById(R.id.ingest_warning_overlay);
+ mWarningOverlayText =
+ (TextView)mWarningOverlay.findViewById(R.id.ingest_warning_overlay_text);
+ }
+ mWarningOverlayText.setText(textResId);
+ mWarningOverlay.setVisibility(View.VISIBLE);
+ mGridView.setVisibility(View.GONE);
+ }
+
+ private void hideWarningOverlay() {
+ if (mWarningOverlay != null) {
+ mWarningOverlay.setVisibility(View.GONE);
+ mGridView.setVisibility(View.VISIBLE);
+ }
+ }
+
+ private void updateWarningOverlay() {
+ if (!mAdapter.deviceConnected()) {
+ showWarningOverlay(R.string.ingest_no_device);
+ } else if (mAdapter.indexReady() && mAdapter.getCount() == 0) {
+ showWarningOverlay(R.string.ingest_empty_device);
+ } else {
+ hideWarningOverlay();
+ }
+ }
+
+ private void UiThreadNotifyIndexChanged() {
mAdapter.notifyDataSetChanged();
if (mActiveActionMode != null) {
mActiveActionMode.finish();
mActiveActionMode = null;
}
+ updateWarningOverlay();
+ }
+
+ protected void notifyIndexChanged() {
+ mHandler.sendEmptyMessage(ItemListHandler.MSG_NOTIFY_CHANGED);
}
private static class ProgressState {
@@ -229,7 +267,7 @@ public class IngestActivity extends Activity implements
public void onIndexFinish() {
// Not guaranteed to be called on the UI thread
mHandler.sendEmptyMessage(ItemListHandler.MSG_PROGRESS_HIDE);
- mHandler.sendEmptyMessage(ItemListHandler.MSG_ADAPTER_NOTIFY_CHANGED);
+ mHandler.sendEmptyMessage(ItemListHandler.MSG_NOTIFY_CHANGED);
}
@Override
@@ -291,7 +329,7 @@ public class IngestActivity extends Activity implements
private static class ItemListHandler extends Handler {
public static final int MSG_PROGRESS_UPDATE = 0;
public static final int MSG_PROGRESS_HIDE = 1;
- public static final int MSG_ADAPTER_NOTIFY_CHANGED = 2;
+ public static final int MSG_NOTIFY_CHANGED = 2;
WeakReference<IngestActivity> mParentReference;
@@ -311,8 +349,8 @@ public class IngestActivity extends Activity implements
case MSG_PROGRESS_UPDATE:
parent.updateProgressDialog();
break;
- case MSG_ADAPTER_NOTIFY_CHANGED:
- parent.notifyIndexChanged();
+ case MSG_NOTIFY_CHANGED:
+ parent.UiThreadNotifyIndexChanged();
break;
default:
break;
diff --git a/src/com/android/gallery3d/ingest/MtpDeviceIndex.java b/src/com/android/gallery3d/ingest/MtpDeviceIndex.java
index 10ccb82ac..5a0f9481e 100644
--- a/src/com/android/gallery3d/ingest/MtpDeviceIndex.java
+++ b/src/com/android/gallery3d/ingest/MtpDeviceIndex.java
@@ -143,6 +143,10 @@ public class MtpDeviceIndex {
};
}
+ synchronized public boolean indexReady() {
+ return mProgress == Progress.Finished;
+ }
+
synchronized public Progress getProgress() {
return mProgress;
}
diff --git a/src/com/android/gallery3d/ingest/adapter/MtpAdapter.java b/src/com/android/gallery3d/ingest/adapter/MtpAdapter.java
index e09fcd962..3cf0df2cf 100644
--- a/src/com/android/gallery3d/ingest/adapter/MtpAdapter.java
+++ b/src/com/android/gallery3d/ingest/adapter/MtpAdapter.java
@@ -53,6 +53,14 @@ public class MtpAdapter extends BaseAdapter implements SectionIndexer {
notifyDataSetChanged();
}
+ public boolean deviceConnected() {
+ return (mModel != null) && (mModel.getDevice() != null);
+ }
+
+ public boolean indexReady() {
+ return (mModel != null) && mModel.indexReady();
+ }
+
@Override
public int getCount() {
return mModel != null ? mModel.size() : 0;