blob: 78ffe8affa711a10dbbf28bfdb391cc90035da85 [file] [log] [blame]
/*
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.camera;
import com.android.gallery.R;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.widget.ProgressBar;
import java.util.ArrayList;
public class DeleteImage extends NoSearchActivity {
@SuppressWarnings("unused")
private static final String TAG = "DeleteImage";
private ProgressBar mProgressBar;
private ArrayList<Uri> mUriList; // a list of image uri
private int mIndex = 0; // next image to delete
private final Handler mHandler = new Handler();
private final Runnable mDeleteNextRunnable = new Runnable() {
public void run() {
deleteNext();
}
};
private ContentResolver mContentResolver;
private boolean mPausing;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
mUriList = intent.getParcelableArrayListExtra("delete-uris");
if (mUriList == null) {
finish();
}
setContentView(R.layout.delete_image);
mProgressBar = (ProgressBar) findViewById(R.id.delete_progress);
mContentResolver = getContentResolver();
}
@Override
protected void onResume() {
super.onResume();
mPausing = false;
mHandler.post(mDeleteNextRunnable);
}
private void deleteNext() {
if (mPausing) return;
if (mIndex >= mUriList.size()) {
finish();
return;
}
Uri uri = mUriList.get(mIndex++);
// The max progress value of the bar is set to 10000 in the xml file.
mProgressBar.setProgress(mIndex * 10000 / mUriList.size());
mContentResolver.delete(uri, null, null);
mHandler.post(mDeleteNextRunnable);
}
@Override
protected void onPause() {
super.onPause();
mPausing = true;
}
}