Back to project page PicasaUploadSample.
The source code is released under:
Apache License
If you think the Android project PicasaUploadSample listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/* * Copyright (c) 2012 Google Inc.//w w w. j a v a 2s .c o m * * 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 org.ktaka.picasasample; import com.google.api.client.googleapis.extensions.android.gms.auth.GooglePlayServicesAvailabilityIOException; import com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException; import android.os.AsyncTask; import android.view.View; import java.io.IOException; /** * Asynchronous task that also takes care of common needs, such as displaying progress, * authorization, exception handling, and notifying UI when operation succeeded. * * @author Yaniv Inbar */ abstract class CommonAsyncTask extends AsyncTask<Void, Void, Boolean> { final PicasaUploadActivity activity; // final com.google.api.services.tasks.Tasks client; private final View progressBar; CommonAsyncTask(PicasaUploadActivity activity) { this.activity = activity; // client = activity.service; progressBar = activity.findViewById(R.id.progressBar1); } @Override protected void onPreExecute() { super.onPreExecute(); activity.numAsyncTasks++; progressBar.setVisibility(View.VISIBLE); } @Override protected final Boolean doInBackground(Void... ignored) { try { doInBackground(); return true; } catch (final GooglePlayServicesAvailabilityIOException availabilityException) { activity.showGooglePlayServicesAvailabilityErrorDialog( availabilityException.getConnectionStatusCode()); } catch (UserRecoverableAuthIOException userRecoverableException) { activity.startActivityForResult( userRecoverableException.getIntent(), PicasaUploadActivity.REQUEST_AUTHORIZATION); } catch (IOException e) { Utils.logAndShow(activity, PicasaUploadActivity.TAG, e); } return false; } @Override protected final void onPostExecute(Boolean success) { super.onPostExecute(success); if (0 == --activity.numAsyncTasks) { progressBar.setVisibility(View.GONE); } if (success) { // activity.refreshView(); } } abstract protected void doInBackground() throws IOException; }