use of org.mozilla.focus.utils.Browsers in project focus-android by mozilla-mobile.
the class BrowserFragment method onClick.
@Override
public void onClick(View view) {
switch(view.getId()) {
case R.id.menuView:
BrowserMenu menu = new BrowserMenu(getActivity(), this, session.getCustomTabConfig());
menu.show(menuView);
menuWeakReference = new WeakReference<>(menu);
break;
case R.id.display_url:
final Fragment urlFragment = UrlInputFragment.createWithSession(session, urlView);
getActivity().getSupportFragmentManager().beginTransaction().add(R.id.container, urlFragment, UrlInputFragment.FRAGMENT_TAG).commit();
break;
case R.id.erase:
{
TelemetryWrapper.eraseEvent();
erase();
break;
}
case R.id.tabs:
getActivity().getSupportFragmentManager().beginTransaction().add(R.id.container, new SessionsSheetFragment(), SessionsSheetFragment.FRAGMENT_TAG).commit();
TelemetryWrapper.openTabsTrayEvent();
break;
case R.id.back:
{
goBack();
break;
}
case R.id.forward:
{
final IWebView webView = getWebView();
if (webView != null) {
webView.goForward();
}
break;
}
case R.id.refresh:
{
reload();
TelemetryWrapper.menuReloadEvent();
break;
}
case R.id.stop:
{
final IWebView webView = getWebView();
if (webView != null) {
webView.stopLoading();
}
break;
}
case R.id.open_in_firefox_focus:
{
sessionManager.moveCustomTabToRegularSessions(session);
final IWebView webView = getWebView();
if (webView != null) {
webView.saveWebViewState(session);
}
final Intent intent = new Intent(getContext(), MainActivity.class);
intent.setAction(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
TelemetryWrapper.openFullBrowser();
final Activity activity = getActivity();
if (activity != null) {
activity.finish();
}
break;
}
case R.id.share:
{
shareCurrentUrl();
break;
}
case R.id.settings:
((LocaleAwareAppCompatActivity) getActivity()).openPreferences();
break;
case R.id.open_default:
{
final Browsers browsers = new Browsers(getContext(), getUrl());
final ActivityInfo defaultBrowser = browsers.getDefaultBrowser();
if (defaultBrowser == null) {
// BrowserMenuAdapter.initializeMenu()
throw new IllegalStateException("<Open with $Default> was shown when no default browser is set");
}
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(getUrl()));
intent.setPackage(defaultBrowser.packageName);
startActivity(intent);
if (browsers.isFirefoxDefaultBrowser()) {
TelemetryWrapper.openFirefoxEvent();
} else {
TelemetryWrapper.openDefaultAppEvent();
}
break;
}
case R.id.open_select_browser:
{
final Browsers browsers = new Browsers(getContext(), getUrl());
final ActivityInfo[] apps = browsers.getInstalledBrowsers();
final ActivityInfo store = browsers.hasFirefoxBrandedBrowserInstalled() ? null : InstallFirefoxActivity.resolveAppStore(getContext());
final OpenWithFragment fragment = OpenWithFragment.newInstance(apps, getUrl(), store);
fragment.show(getFragmentManager(), OpenWithFragment.FRAGMENT_TAG);
TelemetryWrapper.openSelectionEvent();
break;
}
case R.id.customtab_close:
{
erase();
getActivity().finish();
TelemetryWrapper.closeCustomTabEvent();
break;
}
case R.id.help:
SessionManager.getInstance().createSession(Source.MENU, SupportUtils.HELP_URL);
break;
case R.id.help_trackers:
SessionManager.getInstance().createSession(Source.MENU, SupportUtils.getSumoURLForTopic(getContext(), SupportUtils.SumoTopic.TRACKERS));
break;
case R.id.add_to_homescreen:
final IWebView webView = getWebView();
if (webView == null) {
break;
}
final String url = webView.getUrl();
final String title = webView.getTitle();
showAddToHomescreenDialog(url, title);
break;
case R.id.security_info:
showSecurityPopUp();
break;
default:
throw new IllegalArgumentException("Unhandled menu item in BrowserFragment");
}
}
Aggregations