Fixed number of UI bugs recently introduced in Tabs changes merge from S. Pacifici
This commit is contained in:
parent
ce0e02585c
commit
88549bf156
@ -1,6 +1,7 @@
|
||||
package acr.browser.lightning.fragment;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.os.Bundle;
|
||||
@ -36,16 +37,20 @@ import javax.inject.Inject;
|
||||
|
||||
import acr.browser.lightning.R;
|
||||
import acr.browser.lightning.activity.BrowserActivity;
|
||||
import acr.browser.lightning.activity.ReadingActivity;
|
||||
import acr.browser.lightning.activity.TabsManager;
|
||||
import acr.browser.lightning.app.BrowserApp;
|
||||
import acr.browser.lightning.async.AsyncExecutor;
|
||||
import acr.browser.lightning.bus.BookmarkEvents;
|
||||
import acr.browser.lightning.bus.BrowserEvents;
|
||||
import acr.browser.lightning.constant.Constants;
|
||||
import acr.browser.lightning.database.BookmarkManager;
|
||||
import acr.browser.lightning.database.HistoryItem;
|
||||
import acr.browser.lightning.dialog.LightningDialogBuilder;
|
||||
import acr.browser.lightning.preference.PreferenceManager;
|
||||
import acr.browser.lightning.async.ImageDownloadTask;
|
||||
import acr.browser.lightning.utils.ThemeUtils;
|
||||
import acr.browser.lightning.view.LightningView;
|
||||
|
||||
/**
|
||||
* Created by Stefano Pacifici on 25/08/15. Based on Anthony C. Restaino's code.
|
||||
@ -71,6 +76,9 @@ public class BookmarksFragment extends Fragment implements View.OnClickListener,
|
||||
@Inject
|
||||
PreferenceManager mPreferenceManager;
|
||||
|
||||
@Inject
|
||||
TabsManager mTabsManager;
|
||||
|
||||
// Adapter
|
||||
private BookmarkViewAdapter mBookmarkAdapter;
|
||||
|
||||
@ -165,6 +173,8 @@ public class BookmarksFragment extends Fragment implements View.OnClickListener,
|
||||
}
|
||||
});
|
||||
setupNavigationButton(view, R.id.action_add_bookmark, R.id.icon_star);
|
||||
setupNavigationButton(view, R.id.action_reading, R.id.icon_reading);
|
||||
setupNavigationButton(view, R.id.action_toggle_desktop, R.id.icon_desktop);
|
||||
|
||||
// Must be called here, only here we have a reference to the ListView
|
||||
new Thread(mInitBookmarkManager).run();
|
||||
@ -232,8 +242,8 @@ public class BookmarksFragment extends Fragment implements View.OnClickListener,
|
||||
if (event.item.isFolder()) {
|
||||
setBookmarkDataSet(mBookmarkManager.getBookmarksFromFolder(null, true), false);
|
||||
} else {
|
||||
mBookmarkAdapter.notifyDataSetChanged();
|
||||
}
|
||||
mBookmarkAdapter.notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private void setBookmarkDataSet(List<HistoryItem> items, boolean animate) {
|
||||
@ -308,6 +318,22 @@ public class BookmarksFragment extends Fragment implements View.OnClickListener,
|
||||
case R.id.action_add_bookmark:
|
||||
mEventBus.post(new BookmarkEvents.WantToBookmarkCurrentPage());
|
||||
break;
|
||||
case R.id.action_reading:
|
||||
LightningView currentTab = mTabsManager.getCurrentTab();
|
||||
if (currentTab != null) {
|
||||
Intent read = new Intent(getActivity(), ReadingActivity.class);
|
||||
read.putExtra(Constants.LOAD_READING_URL, currentTab.getUrl());
|
||||
startActivity(read);
|
||||
}
|
||||
break;
|
||||
case R.id.action_toggle_desktop:
|
||||
LightningView current = mTabsManager.getCurrentTab();
|
||||
if (current != null) {
|
||||
current.toggleDesktopUA(getActivity());
|
||||
current.reload();
|
||||
// TODO add back drawer closing
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -29,7 +29,6 @@ import android.support.v7.widget.RecyclerView.LayoutManager;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
@ -38,8 +37,6 @@ import android.widget.TextView;
|
||||
import com.squareup.otto.Bus;
|
||||
import com.squareup.otto.Subscribe;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import acr.browser.lightning.R;
|
||||
@ -114,6 +111,7 @@ public class TabsFragment extends Fragment implements View.OnClickListener, View
|
||||
if (mShowInNavigationDrawer) {
|
||||
view = inflater.inflate(R.layout.tab_drawer, container, false);
|
||||
layoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
|
||||
setupFrameLayoutButton(view, R.id.tab_header_button, R.id.plusIcon);
|
||||
setupFrameLayoutButton(view, R.id.new_tab_button, R.id.icon_plus);
|
||||
setupFrameLayoutButton(view, R.id.action_back, R.id.icon_back);
|
||||
setupFrameLayoutButton(view, R.id.action_forward, R.id.icon_forward);
|
||||
|
@ -57,11 +57,8 @@ class LightningChromeClient extends WebChromeClient {
|
||||
|
||||
@Override
|
||||
public void onReceivedIcon(WebView view, Bitmap icon) {
|
||||
if (icon == null)
|
||||
return;
|
||||
mLightningView.mTitle.setFavicon(icon);
|
||||
eventBus.post(new BrowserEvents.TabsChanged());
|
||||
;
|
||||
cacheFavicon(view.getUrl(), icon);
|
||||
}
|
||||
|
||||
@ -70,7 +67,7 @@ class LightningChromeClient extends WebChromeClient {
|
||||
*
|
||||
* @param icon the icon to cache
|
||||
*/
|
||||
private void cacheFavicon(final String url, final Bitmap icon) {
|
||||
private static void cacheFavicon(final String url, final Bitmap icon) {
|
||||
if (icon == null) return;
|
||||
final Uri uri = Uri.parse(url);
|
||||
if (uri.getHost() == null) {
|
||||
|
@ -100,6 +100,7 @@ public class LightningWebClient extends WebViewClient {
|
||||
|
||||
@Override
|
||||
public void onPageStarted(WebView view, String url, Bitmap favicon) {
|
||||
mLightningView.mTitle.setFavicon(null);
|
||||
if (mLightningView.isShown()) {
|
||||
mActivity.updateUrl(url, false);
|
||||
mActivity.showActionBar();
|
||||
|
Loading…
x
Reference in New Issue
Block a user