Index: ui/android/java/src/org/chromium/ui/gfx/ActivityNativeWindow.java |
diff --git a/ui/android/java/src/org/chromium/ui/gfx/ActivityNativeWindow.java b/ui/android/java/src/org/chromium/ui/gfx/ActivityNativeWindow.java |
deleted file mode 100644 |
index 821a8a8cb500e522dce0401622dad09c68b8c23d..0000000000000000000000000000000000000000 |
--- a/ui/android/java/src/org/chromium/ui/gfx/ActivityNativeWindow.java |
+++ /dev/null |
@@ -1,152 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-package org.chromium.ui.gfx; |
- |
-import android.app.Activity; |
-import android.content.ActivityNotFoundException; |
-import android.content.Intent; |
-import android.os.Bundle; |
-import android.util.SparseArray; |
-import android.widget.Toast; |
- |
-import java.util.HashMap; |
- |
-/** |
- * The window that has access to the main activity and is able to create and receive intents, |
- * and show error messages. |
- */ |
-public class ActivityNativeWindow extends NativeWindow { |
- |
- // Constants used for intent request code bounding. |
- private static final int REQUEST_CODE_PREFIX = 1000; |
- private static final int REQUEST_CODE_RANGE_SIZE = 100; |
- // A string used as a key to store intent errors in a bundle |
- static final String WINDOW_CALLBACK_ERRORS = "window_callback_errors"; |
- |
- private int mNextRequestCode = 0; |
- protected Activity mActivity; |
- protected SparseArray<IntentCallback> mOutstandingIntents; |
- protected HashMap<Integer, String> mIntentErrors; |
- |
- /** |
- * @param activity |
- */ |
- public ActivityNativeWindow(Activity activity) { |
- super(activity); |
- mActivity = activity; |
- mOutstandingIntents = new SparseArray<IntentCallback>(); |
- mIntentErrors = new HashMap<Integer, String>(); |
- |
- } |
- |
- /** |
- * Shows an intent and returns the results to the callback object. |
- * @param intent The intent that needs to be showed. |
- * @param callback The object that will receive the results for the intent. |
- * @param error The error string to be show if activity is paused before intent results. |
- * @return Whether the intent was shown. |
- */ |
- @Override |
- public boolean showIntent(Intent intent, IntentCallback callback, String error) { |
- int requestCode = REQUEST_CODE_PREFIX + mNextRequestCode; |
- mNextRequestCode = (mNextRequestCode + 1) % REQUEST_CODE_RANGE_SIZE; |
- |
- try { |
- mActivity.startActivityForResult(intent, requestCode); |
- } catch (ActivityNotFoundException e) { |
- return false; |
- } |
- |
- mOutstandingIntents.put(requestCode, callback); |
- if (error != null) mIntentErrors.put(requestCode, error); |
- |
- return true; |
- } |
- |
- /** |
- * Displays an error message with a provided error message string. |
- * @param error The error message string to be displayed. |
- */ |
- @Override |
- public void showError(String error) { |
- if (error != null) { |
- Toast.makeText(mActivity, error, Toast.LENGTH_SHORT).show(); |
- } |
- } |
- |
- /** |
- * Displays an error message for a nonexistent callback. |
- * @param error The error message string to be displayed. |
- */ |
- protected void showCallbackNonExistentError(String error) { |
- showError(error); |
- } |
- |
- /** |
- * Broadcasts the given intent to all interested BroadcastReceivers. |
- */ |
- @Override |
- public void sendBroadcast(Intent intent) { |
- mActivity.sendBroadcast(intent); |
- } |
- |
- /** |
- * @return Application activity. |
- */ |
- public Activity getActivity() { |
- return mActivity; |
- } |
- |
- /** |
- * Saves the error messages that should be shown if any pending intents would return |
- * after the application has been put onPause. |
- * @param bundle The bundle to save the information in onPause |
- */ |
- public void saveInstanceState(Bundle bundle) { |
- bundle.putSerializable(WINDOW_CALLBACK_ERRORS, mIntentErrors); |
- } |
- |
- /** |
- * Restores the error messages that should be shown if any pending intents would return |
- * after the application has been put onPause. |
- * @param bundle The bundle to restore the information from onResume |
- */ |
- public void restoreInstanceState(Bundle bundle) { |
- if (bundle == null) return; |
- |
- Object errors = bundle.getSerializable(WINDOW_CALLBACK_ERRORS); |
- if (errors instanceof HashMap) { |
- @SuppressWarnings("unchecked") |
- HashMap<Integer, String> intentErrors = (HashMap<Integer, String>) errors; |
- mIntentErrors = intentErrors; |
- } |
- } |
- |
- /** |
- * Responds to the intent result if the intent was created by the native window. |
- * @param requestCode Request code of the requested intent. |
- * @param resultCode Result code of the requested intent. |
- * @param data The data returned by the intent. |
- * @return Boolean value of whether the intent was started by the native window. |
- */ |
- public boolean onActivityResult(int requestCode, int resultCode, Intent data) { |
- IntentCallback callback = mOutstandingIntents.get(requestCode); |
- mOutstandingIntents.delete(requestCode); |
- String errorMessage = mIntentErrors.remove(requestCode); |
- |
- if (callback != null) { |
- callback.onIntentCompleted(this, resultCode, |
- mActivity.getContentResolver(), data); |
- return true; |
- } else { |
- if (errorMessage != null) { |
- showCallbackNonExistentError(errorMessage); |
- return true; |
- } |
- } |
- return false; |
- } |
- |
-} |