Bug 946344 - Remove GeckoEventResponder. r=mfinkle,blassey,kats
This commit is contained in:
@@ -238,82 +238,6 @@ public class ActivityHandlerHelper implements GeckoEventListener {
|
||||
});
|
||||
}
|
||||
|
||||
private Intent getFilePickerIntent(Context context, String aMimeType) {
|
||||
ArrayList<Intent> intents = new ArrayList<Intent>();
|
||||
final Prompt.PromptListItem[] items =
|
||||
getItemsAndIntentsForFilePicker(context, aMimeType, intents);
|
||||
|
||||
if (intents.size() == 0) {
|
||||
Log.i(LOGTAG, "no activities for the file picker!");
|
||||
return null;
|
||||
}
|
||||
|
||||
if (intents.size() == 1) {
|
||||
return intents.get(0);
|
||||
}
|
||||
|
||||
final PromptService ps = GeckoAppShell.getGeckoInterface().getPromptService();
|
||||
final String title = getFilePickerTitle(context, aMimeType);
|
||||
|
||||
// Runnable has to be called to show an intent-like
|
||||
// context menu UI using the PromptService.
|
||||
ThreadUtils.postToUiThread(new Runnable() {
|
||||
@Override public void run() {
|
||||
ps.show(title, "", items, false, null);
|
||||
}
|
||||
});
|
||||
|
||||
String promptServiceResult = ps.getResponse(null);
|
||||
int itemId = -1;
|
||||
try {
|
||||
itemId = new JSONObject(promptServiceResult).getInt("button");
|
||||
|
||||
if (itemId == -1) {
|
||||
return null;
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
Log.e(LOGTAG, "result from promptservice was invalid: ", e);
|
||||
return null;
|
||||
}
|
||||
|
||||
return intents.get(itemId);
|
||||
}
|
||||
|
||||
boolean showFilePicker(Activity parentActivity, String aMimeType, ActivityResultHandler handler) {
|
||||
Intent intent = getFilePickerIntent(parentActivity, aMimeType);
|
||||
|
||||
if (intent == null) {
|
||||
return false;
|
||||
}
|
||||
parentActivity.startActivityForResult(intent, mActivityResultHandlerMap.put(handler));
|
||||
return true;
|
||||
}
|
||||
|
||||
String showFilePicker(Activity parentActivity, String aMimeType) {
|
||||
Intent intent = getFilePickerIntent(parentActivity, aMimeType);
|
||||
|
||||
if (intent == null) {
|
||||
return "";
|
||||
}
|
||||
|
||||
if (intent.getAction().equals(MediaStore.ACTION_IMAGE_CAPTURE)) {
|
||||
parentActivity.startActivityForResult(intent, mActivityResultHandlerMap.put(mCameraImageResultHandler));
|
||||
} else if (intent.getAction().equals(MediaStore.ACTION_VIDEO_CAPTURE)) {
|
||||
parentActivity.startActivityForResult(intent, mActivityResultHandlerMap.put(mCameraVideoResultHandler));
|
||||
} else if (intent.getAction().equals(Intent.ACTION_GET_CONTENT)) {
|
||||
parentActivity.startActivityForResult(intent, mActivityResultHandlerMap.put(mFilePickerResultHandlerSync));
|
||||
} else {
|
||||
Log.e(LOGTAG, "We should not get an intent with another action!");
|
||||
return "";
|
||||
}
|
||||
|
||||
String filePickerResult;
|
||||
while (null == (filePickerResult = mFilePickerResult.poll())) {
|
||||
GeckoAppShell.processNextNativeEvent(true);
|
||||
}
|
||||
return filePickerResult;
|
||||
}
|
||||
|
||||
/* Allows the user to pick an activity to load files from using a list prompt. Then opens the activity and
|
||||
* sends the file returned to the passed in handler. If a null handler is passed in, will still
|
||||
* pick and launch the file picker, but will throw away the result.
|
||||
|
||||
Reference in New Issue
Block a user