Backed out changesets d901d33dd142 and 48da1752622f (bug 729463) for robocop failures.

This commit is contained in:
Ryan VanderMeulen 2013-04-08 22:32:15 -04:00
parent a9d62819ea
commit fd9cc2e121
15 changed files with 41 additions and 145 deletions

View File

@ -50,7 +50,6 @@ public class AwesomeBar extends GeckoActivity {
private static final String LOGTAG = "GeckoAwesomeBar";
public static final String URL_KEY = "url";
public static final String TAB_KEY = "tab";
public static final String CURRENT_URL_KEY = "currenturl";
public static final String TARGET_KEY = "target";
public static final String SEARCH_KEY = "search";
@ -107,13 +106,6 @@ public class AwesomeBar extends GeckoActivity {
}
});
}
@Override
public void switchToTab(final int tabId) {
Intent resultIntent = new Intent();
resultIntent.putExtra(TAB_KEY, Integer.toString(tabId));
finishWithResult(resultIntent);
}
});
mGoButton.setOnClickListener(new Button.OnClickListener() {
@ -549,25 +541,6 @@ public class AwesomeBar extends GeckoActivity {
final int display = mContextMenuSubject.display;
switch (item.getItemId()) {
case R.id.open_private_tab:
case R.id.open_new_tab: {
if (url == null) {
Log.e(LOGTAG, "Can't open in new tab because URL is null");
break;
}
String newTabUrl = url;
if (display == Combined.DISPLAY_READER)
newTabUrl = ReaderModeUtils.getAboutReaderForUrl(url, true);
int flags = Tabs.LOADURL_NEW_TAB;
if (item.getItemId() == R.id.open_private_tab)
flags |= Tabs.LOADURL_PRIVATE;
Tabs.getInstance().loadUrl(newTabUrl, flags);
Toast.makeText(this, R.string.new_tab_opened, Toast.LENGTH_SHORT).show();
break;
}
case R.id.open_in_reader: {
if (url == null) {
Log.e(LOGTAG, "Can't open in reader mode because URL is null");

View File

@ -46,7 +46,6 @@ public class AwesomeBarTabs extends TabHost
public void onUrlOpen(String url, String title);
public void onSearch(String engine, String text);
public void onEditSuggestion(String suggestion);
public void switchToTab(final int tabId);
}
private class AwesomePagerAdapter extends PagerAdapter {

View File

@ -7,7 +7,6 @@ package org.mozilla.gecko;
import org.mozilla.gecko.util.ActivityResultHandler;
import android.content.Intent;
import android.util.Log;
class AwesomebarResultHandler implements ActivityResultHandler {
private static final String LOGTAG = "GeckoAwesomebarResultHandler";
@ -15,12 +14,6 @@ class AwesomebarResultHandler implements ActivityResultHandler {
@Override
public void onActivityResult(int resultCode, Intent data) {
if (data != null) {
String tab = data.getStringExtra(AwesomeBar.TAB_KEY);
if (tab != null) {
Tabs.getInstance().selectTab(Integer.parseInt(tab));
return;
}
String url = data.getStringExtra(AwesomeBar.URL_KEY);
AwesomeBar.Target target = AwesomeBar.Target.valueOf(data.getStringExtra(AwesomeBar.TARGET_KEY));
String searchEngine = data.getStringExtra(AwesomeBar.SEARCH_KEY);

View File

@ -574,7 +574,6 @@ RES_DRAWABLE_MDPI = \
res/drawable-mdpi/ic_awesomebar_reader.png \
res/drawable-mdpi/ic_awesomebar_search.png \
res/drawable-mdpi/ic_awesomebar_star.png \
res/drawable-mdpi/ic_awesomebar_tab.png \
res/drawable-mdpi/ic_menu_addons_filler.png \
res/drawable-mdpi/ic_menu_bookmark_add.png \
res/drawable-mdpi/ic_menu_bookmark_remove.png \
@ -685,7 +684,6 @@ RES_DRAWABLE_HDPI = \
res/drawable-hdpi/ic_awesomebar_reader.png \
res/drawable-hdpi/ic_awesomebar_search.png \
res/drawable-hdpi/ic_awesomebar_star.png \
res/drawable-hdpi/ic_awesomebar_tab.png \
res/drawable-hdpi/ic_menu_addons_filler.png \
res/drawable-hdpi/ic_menu_bookmark_add.png \
res/drawable-hdpi/ic_menu_bookmark_remove.png \
@ -776,7 +774,6 @@ RES_DRAWABLE_XHDPI = \
res/drawable-xhdpi/ic_awesomebar_reader.png \
res/drawable-xhdpi/ic_awesomebar_search.png \
res/drawable-xhdpi/ic_awesomebar_star.png \
res/drawable-xhdpi/ic_awesomebar_tab.png \
res/drawable-xhdpi/ic_menu_addons_filler.png \
res/drawable-xhdpi/ic_menu_bookmark_add.png \
res/drawable-xhdpi/ic_menu_bookmark_remove.png \

View File

@ -155,15 +155,6 @@ public class Tabs implements GeckoEventListener {
return count;
}
public synchronized int isOpen(String url) {
for (Tab tab : mOrder) {
if (tab.getURL().equals(url)) {
return tab.getId();
}
}
return -1;
}
// Must be synchronized to avoid racing on mContentObserver.
private void lazyRegisterBookmarkObserver() {
if (mContentObserver == null) {

View File

@ -147,8 +147,6 @@ public class AllPagesTab extends AwesomeBarTab implements GeckoEventListener {
@Override
public void destroy() {
super.destroy();
unregisterEventListener("SearchEngines:Data");
mHandler.removeMessages(MESSAGE_UPDATE_FAVICONS);
@ -260,9 +258,13 @@ public class AllPagesTab extends AwesomeBarTab implements GeckoEventListener {
@Override
public void onClick() {
AwesomeBarTabs.OnUrlOpenListener listener = getUrlListener();
if (listener == null)
return;
String url = mCursor.getString(mCursor.getColumnIndexOrThrow(URLColumns.URL));
String title = mCursor.getString(mCursor.getColumnIndexOrThrow(URLColumns.TITLE));
sendToListener(url, title);
listener.onUrlOpen(url, title);
}
@Override
@ -779,12 +781,17 @@ public class AllPagesTab extends AwesomeBarTab implements GeckoEventListener {
if (subject == null)
return subject;
setupMenu(menu, subject);
MenuInflater inflater = new MenuInflater(mContext);
inflater.inflate(R.menu.awesomebar_contextmenu, menu);
menu.findItem(R.id.remove_bookmark).setVisible(false);
menu.findItem(R.id.edit_bookmark).setVisible(false);
menu.findItem(R.id.open_in_reader).setVisible(subject.display == Combined.DISPLAY_READER);
// Hide "Remove" item if there isn't a valid history ID
if (subject.id < 0)
menu.findItem(R.id.remove_history).setVisible(false);
menu.setHeaderTitle(subject.title);
return subject;
}

View File

@ -18,17 +18,15 @@ import android.text.TextUtils;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.MenuInflater;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.HashMap;
abstract public class AwesomeBarTab {
abstract public String getTag();
abstract public int getTitleStringId();
abstract public void destroy();
abstract public boolean onBackPressed();
abstract public ContextMenuSubject getSubject(ContextMenu menu, View view, ContextMenuInfo menuInfo);
abstract public View getView();
@ -42,16 +40,11 @@ abstract public class AwesomeBarTab {
// FIXME: This value should probably come from a prefs key
public static final int MAX_RESULTS = 100;
protected Context mContext = null;
public static HashMap<String, Integer> sOpenTabs;
public AwesomeBarTab(Context context) {
mContext = context;
}
public void destroy() {
sOpenTabs = null;
}
public void setListTouchListener(View.OnTouchListener listener) {
mListListener = listener;
if (mView != null)
@ -87,17 +80,6 @@ abstract public class AwesomeBarTab {
return mContentResolver;
}
private HashMap<String, Integer> getOpenTabs() {
if (sOpenTabs == null || sOpenTabs.isEmpty()) {
Iterable<Tab> tabs = Tabs.getInstance().getTabsInOrder();
sOpenTabs = new HashMap<String, Integer>();
for (Tab tab : tabs) {
sOpenTabs.put(tab.getURL(), tab.getId());
}
}
return sOpenTabs;
}
protected Resources getResources() {
if (mResources == null) {
mResources = mContext.getResources();
@ -105,26 +87,6 @@ abstract public class AwesomeBarTab {
return mResources;
}
protected void setupMenu(ContextMenu menu, AwesomeBar.ContextMenuSubject subject) {
MenuInflater inflater = new MenuInflater(mContext);
inflater.inflate(R.menu.awesomebar_contextmenu, menu);
// Show Open Private Tab if we're in private mode, Open New Tab otherwise
boolean isPrivate = false;
Tab tab = Tabs.getInstance().getSelectedTab();
if (tab != null) {
isPrivate = tab.isPrivate();
}
menu.findItem(R.id.open_new_tab).setVisible(!isPrivate);
menu.findItem(R.id.open_private_tab).setVisible(isPrivate);
// Hide "Remove" item if there isn't a valid history ID
if (subject.id < 0)
menu.findItem(R.id.remove_history).setVisible(false);
menu.setHeaderTitle(subject.title);
}
protected void updateFavicon(ImageView faviconView, Cursor cursor) {
byte[] b = cursor.getBlob(cursor.getColumnIndexOrThrow(URLColumns.FAVICON));
Bitmap favicon = null;
@ -153,54 +115,22 @@ abstract public class AwesomeBarTab {
protected void updateTitle(TextView titleView, Cursor cursor) {
int titleIndex = cursor.getColumnIndexOrThrow(URLColumns.TITLE);
String title = cursor.getString(titleIndex);
String url = "";
// Use the URL instead of an empty title for consistency with the normal URL
// bar view - this is the equivalent of getDisplayTitle() in Tab.java
if (TextUtils.isEmpty(title)) {
int urlIndex = cursor.getColumnIndexOrThrow(URLColumns.URL);
url = cursor.getString(urlIndex);
title = cursor.getString(urlIndex);
}
updateTitle(titleView, title, url);
}
protected void updateTitle(TextView titleView, String title, String url) {
if (TextUtils.isEmpty(title)) {
titleView.setText(url);
} else {
titleView.setText(title);
}
}
public void sendToListener(String url, String title) {
AwesomeBarTabs.OnUrlOpenListener listener = getUrlListener();
if (listener == null)
return;
Integer tabId = getOpenTabs().get(url);
if (tabId != null) {
listener.switchToTab(tabId);
} else {
listener.onUrlOpen(url, title);
}
titleView.setText(title);
}
protected void updateUrl(TextView urlView, Cursor cursor) {
int urlIndex = cursor.getColumnIndexOrThrow(URLColumns.URL);
String url = cursor.getString(urlIndex);
updateUrl(urlView, url);
}
protected void updateUrl(TextView urlView, String url) {
Integer tabId = getOpenTabs().get(url);
if (tabId != null) {
urlView.setText(R.string.awesomebar_switch_to_tab);
urlView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_awesomebar_tab, 0, 0, 0);
} else {
urlView.setText(url);
urlView.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
}
urlView.setText(url);
}
protected boolean hideSoftInput(View view) {

View File

@ -93,8 +93,6 @@ public class BookmarksTab extends AwesomeBarTab {
@Override
public void destroy() {
super.destroy();
// Can't use getters for adapter. It will create one if null.
if (mCursorAdapter != null && mView != null) {
ListView list = (ListView)mView;
@ -203,13 +201,18 @@ public class BookmarksTab extends AwesomeBarTab {
}
// Otherwise, just open the URL
AwesomeBarTabs.OnUrlOpenListener listener = getUrlListener();
if (listener == null) {
return;
}
String url = cursor.getString(cursor.getColumnIndexOrThrow(URLColumns.URL));
String title = cursor.getString(cursor.getColumnIndexOrThrow(URLColumns.TITLE));
long parentId = cursor.getLong(cursor.getColumnIndexOrThrow(Bookmarks.PARENT));
if (parentId == Bookmarks.FIXED_READING_LIST_ID) {
url = ReaderModeUtils.getAboutReaderForUrl(url, true);
}
sendToListener(url, title);
listener.onUrlOpen(url, title);
}
private class BookmarksListAdapter extends SimpleCursorAdapter {
@ -450,10 +453,12 @@ public class BookmarksTab extends AwesomeBarTab {
if (subject == null)
return subject;
setupMenu(menu, subject);
MenuInflater inflater = new MenuInflater(mContext);
inflater.inflate(R.menu.awesomebar_contextmenu, menu);
menu.findItem(R.id.remove_history).setVisible(false);
menu.findItem(R.id.open_in_reader).setVisible(false);
menu.setHeaderTitle(subject.title);
return subject;
}

View File

@ -124,8 +124,6 @@ public class HistoryTab extends AwesomeBarTab {
@Override
public void destroy() {
super.destroy();
if (mContentObserver != null)
BrowserDB.unregisterContentObserver(getContentResolver(), mContentObserver);
}
@ -185,8 +183,11 @@ public class HistoryTab extends AwesomeBarTab {
String title = (String) historyItem.get(URLColumns.TITLE);
String url = (String) historyItem.get(URLColumns.URL);
updateTitle(viewHolder.titleView, title, url);
updateUrl(viewHolder.urlView, url);
if (TextUtils.isEmpty(title))
title = url;
viewHolder.titleView.setText(title);
viewHolder.urlView.setText(url);
byte[] b = (byte[]) historyItem.get(URLColumns.FAVICON);
Bitmap favicon = null;
@ -411,7 +412,9 @@ public class HistoryTab extends AwesomeBarTab {
String url = (String) historyItem.get(URLColumns.URL);
String title = (String) historyItem.get(URLColumns.TITLE);
sendToListener(url, title);
AwesomeBarTabs.OnUrlOpenListener listener = getUrlListener();
if (!TextUtils.isEmpty(url) && listener != null)
listener.onUrlOpen(url, title);
return true;
}
@ -444,12 +447,18 @@ public class HistoryTab extends AwesomeBarTab {
(String) map.get(URLColumns.TITLE),
null);
setupMenu(menu, subject);
MenuInflater inflater = new MenuInflater(mContext);
inflater.inflate(R.menu.awesomebar_contextmenu, menu);
menu.findItem(R.id.remove_bookmark).setVisible(false);
menu.findItem(R.id.edit_bookmark).setVisible(false);
menu.findItem(R.id.open_in_reader).setVisible(false);
// Hide "Remove" item if there isn't a valid history ID
if (subject.id < 0)
menu.findItem(R.id.remove_history).setVisible(false);
menu.setHeaderTitle(subject.title);
return subject;
}
}

View File

@ -12,7 +12,6 @@
<!ENTITY awesomebar_all_pages_title "Top Sites">
<!ENTITY awesomebar_bookmarks_title "Bookmarks">
<!ENTITY awesomebar_history_title "History">
<!ENTITY awesomebar_switch_to_tab "Switch to tab">
<!ENTITY crash_reporter_title "&brandShortName; Crash Reporter">
<!ENTITY crash_message "&brandShortName; has crashed. Your tabs should be listed on the &brandShortName; Start page when you restart.">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 376 B

View File

@ -5,12 +5,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/open_new_tab"
android:title="@string/contextmenu_open_new_tab"/>
<item android:id="@+id/open_private_tab"
android:title="@string/contextmenu_open_private_tab"/>
<item android:id="@+id/open_in_reader"
android:title="@string/contextmenu_open_in_reader"/>

View File

@ -26,7 +26,6 @@
<string name="awesomebar_all_pages_title">&awesomebar_all_pages_title;</string>
<string name="awesomebar_bookmarks_title">&awesomebar_bookmarks_title;</string>
<string name="awesomebar_history_title">&awesomebar_history_title;</string>
<string name="awesomebar_switch_to_tab">&awesomebar_switch_to_tab;</string>
<string name="crash_reporter_title">&crash_reporter_title;</string>
<string name="crash_message">&crash_message;</string>