зеркало из https://github.com/mozilla/gecko-dev.git
Bug 884075 - Make button toast listeners per toast. r=margaret
This commit is contained in:
Родитель
4d3ab27bc9
Коммит
45baf2ff07
|
@ -395,14 +395,7 @@ abstract public class BrowserApp extends GeckoApp
|
||||||
|
|
||||||
mBrowserToolbar = (BrowserToolbar) findViewById(R.id.browser_toolbar);
|
mBrowserToolbar = (BrowserToolbar) findViewById(R.id.browser_toolbar);
|
||||||
|
|
||||||
mToast = new ButtonToast(findViewById(R.id.toast), new ButtonToast.ToastListener() {
|
mToast = new ButtonToast(findViewById(R.id.toast));
|
||||||
@Override
|
|
||||||
public void onButtonClicked(CharSequence token) {
|
|
||||||
if (ADD_SHORTCUT_TOAST.equals(token)) {
|
|
||||||
showBookmarkDialog();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
((GeckoApp.MainLayout) mMainLayout).setTouchEventInterceptor(new HideTabsTouchListener());
|
((GeckoApp.MainLayout) mMainLayout).setTouchEventInterceptor(new HideTabsTouchListener());
|
||||||
((GeckoApp.MainLayout) mMainLayout).setMotionEventInterceptor(new MotionEventInterceptor() {
|
((GeckoApp.MainLayout) mMainLayout).setMotionEventInterceptor(new MotionEventInterceptor() {
|
||||||
|
@ -1699,10 +1692,15 @@ abstract public class BrowserApp extends GeckoApp
|
||||||
} else {
|
} else {
|
||||||
tab.addBookmark();
|
tab.addBookmark();
|
||||||
mToast.show(false,
|
mToast.show(false,
|
||||||
getResources().getString(R.string.bookmark_added),
|
getResources().getString(R.string.bookmark_added),
|
||||||
getResources().getString(R.string.bookmark_options),
|
getResources().getString(R.string.bookmark_options),
|
||||||
0,
|
0,
|
||||||
ADD_SHORTCUT_TOAST);
|
new ButtonToast.ToastListener() {
|
||||||
|
@Override
|
||||||
|
public void onButtonClicked() {
|
||||||
|
showBookmarkDialog();
|
||||||
|
}
|
||||||
|
});
|
||||||
item.setIcon(R.drawable.ic_menu_bookmark_remove);
|
item.setIcon(R.drawable.ic_menu_bookmark_remove);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,23 +50,24 @@ public class ButtonToast {
|
||||||
public final CharSequence buttonMessage;
|
public final CharSequence buttonMessage;
|
||||||
public final int buttonIcon;
|
public final int buttonIcon;
|
||||||
public final CharSequence message;
|
public final CharSequence message;
|
||||||
|
public ToastListener listener;
|
||||||
|
|
||||||
public Toast(CharSequence aMessage, CharSequence aButtonMessage, int aIcon, CharSequence aToken) {
|
public Toast(CharSequence aMessage, CharSequence aButtonMessage, int aIcon, ToastListener aListener) {
|
||||||
message = aMessage;
|
message = aMessage;
|
||||||
buttonMessage = aButtonMessage;
|
buttonMessage = aButtonMessage;
|
||||||
buttonIcon = aIcon;
|
buttonIcon = aIcon;
|
||||||
token = aToken;
|
listener = aListener;
|
||||||
|
token = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface ToastListener {
|
public interface ToastListener {
|
||||||
void onButtonClicked(CharSequence token);
|
void onButtonClicked();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ButtonToast(View view, ToastListener listener) {
|
public ButtonToast(View view) {
|
||||||
mView = view;
|
mView = view;
|
||||||
mListener = listener;
|
mListener = null;
|
||||||
|
|
||||||
mMessageView = (TextView) mView.findViewById(R.id.toast_message);
|
mMessageView = (TextView) mView.findViewById(R.id.toast_message);
|
||||||
mButton = (Button) mView.findViewById(R.id.toast_button);
|
mButton = (Button) mView.findViewById(R.id.toast_button);
|
||||||
mButton.setOnClickListener(new View.OnClickListener() {
|
mButton.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@ -77,8 +78,8 @@ public class ButtonToast {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
hide(false);
|
hide(false);
|
||||||
if (mListener != null) {
|
if (t.listener != null) {
|
||||||
mListener.onButtonClicked(t.token);
|
t.listener.onButtonClicked();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -88,8 +89,8 @@ public class ButtonToast {
|
||||||
|
|
||||||
public void show(boolean immediate, CharSequence message,
|
public void show(boolean immediate, CharSequence message,
|
||||||
CharSequence buttonMessage, int buttonIcon,
|
CharSequence buttonMessage, int buttonIcon,
|
||||||
CharSequence token) {
|
ToastListener listener) {
|
||||||
Toast t = new Toast(message, buttonMessage, buttonIcon, token);
|
Toast t = new Toast(message, buttonMessage, buttonIcon, listener);
|
||||||
show(t, immediate);
|
show(t, immediate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче