diff options
author | Michael Kolb <kolby@google.com> | 2010-08-20 15:31:16 -0700 |
---|---|---|
committer | Michael Kolb <kolby@google.com> | 2010-08-21 12:35:22 -0700 |
commit | 3f65c3831ff82a20f6f0edb08df2d7edae540044 (patch) | |
tree | 35624a233aed78b179192962000c4c113c3f51d1 /src/com | |
parent | 9af72b71354aff4408acb557c858216ffa868738 (diff) | |
download | packages_apps_browser-3f65c3831ff82a20f6f0edb08df2d7edae540044.zip packages_apps_browser-3f65c3831ff82a20f6f0edb08df2d7edae540044.tar.gz packages_apps_browser-3f65c3831ff82a20f6f0edb08df2d7edae540044.tar.bz2 |
UI work on CombinedBookmarksHistory
Adjust the CombinedBookmarksHistory activity to leave TabBar and UrlBar visible
Enable clicks on the top bars to propagate back to the BrowserActivity
Change-Id: Ie6aed7dc0777d31dafc7c31807adf17a60f57767
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/browser/BrowserActivity.java | 29 | ||||
-rw-r--r-- | src/com/android/browser/CombinedBookmarkHistoryActivity.java | 40 | ||||
-rw-r--r-- | src/com/android/browser/TitleBarXLarge.java | 6 |
3 files changed, 69 insertions, 6 deletions
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java index 548eba6..e144f99 100644 --- a/src/com/android/browser/BrowserActivity.java +++ b/src/com/android/browser/BrowserActivity.java @@ -16,6 +16,10 @@ package com.android.browser; +import com.android.browser.ScrollWebView.ScrollListener; +import com.android.common.Search; +import com.android.common.speech.LoggingEvents; + import android.app.ActionBar; import android.app.Activity; import android.app.AlertDialog; @@ -82,6 +86,7 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.MenuItem.OnMenuItemClickListener; +import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.Window; @@ -105,10 +110,6 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; -import com.android.browser.ScrollWebView.ScrollListener; -import com.android.common.Search; -import com.android.common.speech.LoggingEvents; - import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; @@ -3866,6 +3867,18 @@ public class BrowserActivity extends Activity loadUrl(getTopWindow(), data); } } + } else if (resultCode == RESULT_CANCELED) { + if (intent != null) { + float evtx = intent.getFloatExtra(CombinedBookmarkHistoryActivity.EVT_X, -1); + float evty = intent.getFloatExtra(CombinedBookmarkHistoryActivity.EVT_Y, -1); + long now = System.currentTimeMillis(); + MotionEvent evt = MotionEvent.obtain(now, now, + MotionEvent.ACTION_DOWN, evtx, evty, 0); + dispatchTouchEvent(evt); + MotionEvent up = MotionEvent.obtain(evt); + up.setAction(MotionEvent.ACTION_UP); + dispatchTouchEvent(up); + } } // Deliberately fall through to PREFERENCES_PAGE, since the // same extra may be attached to the COMBO_PAGE @@ -4002,7 +4015,13 @@ public class BrowserActivity extends Activity intent.putExtra(CombinedBookmarkHistoryActivity.STARTING_FRAGMENT, CombinedBookmarkHistoryActivity.FRAGMENT_ID_HISTORY); } - if (newTabMode) { + if (mXLargeScreenSize) { + showFakeTitleBar(); + int titleBarHeight = ((TitleBarXLarge)mFakeTitleBar).getHeightWithoutProgress(); + intent.putExtra(CombinedBookmarkHistoryActivity.EXTRA_TOP, + mTabBar.getBottom() + titleBarHeight); + intent.putExtra(CombinedBookmarkHistoryActivity.EXTRA_HEIGHT, + getTopWindow().getHeight() - titleBarHeight); intent.putExtra(CombinedBookmarkHistoryActivity.NEWTAB_MODE, true); } startActivityForResult(intent, COMBO_PAGE); diff --git a/src/com/android/browser/CombinedBookmarkHistoryActivity.java b/src/com/android/browser/CombinedBookmarkHistoryActivity.java index 35267c0..9422ac8 100644 --- a/src/com/android/browser/CombinedBookmarkHistoryActivity.java +++ b/src/com/android/browser/CombinedBookmarkHistoryActivity.java @@ -26,7 +26,10 @@ import android.graphics.Bitmap; import android.os.AsyncTask; import android.os.Bundle; import android.provider.Browser; +import android.view.Gravity; +import android.view.MotionEvent; import android.view.View; +import android.view.WindowManager; import android.webkit.WebIconDatabase; import android.webkit.WebIconDatabase.IconListener; import android.widget.AdapterView; @@ -46,6 +49,11 @@ public class CombinedBookmarkHistoryActivity extends Activity implements BookmarksHistoryCallbacks, OnItemClickListener { final static String NEWTAB_MODE = "newtab_mode"; final static String STARTING_FRAGMENT = "fragment"; + final static String EVT_X = "evt_x"; + final static String EVT_Y = "evt_y"; + final static String EXTRA_TOP = "top"; + final static String EXTRA_HEIGHT = "height"; + final static int FRAGMENT_ID_BOOKMARKS = 1; final static int FRAGMENT_ID_HISTORY = 2; @@ -70,6 +78,9 @@ public class CombinedBookmarkHistoryActivity extends Activity */ private boolean mNewTabMode; + private int mRequestedTop; + private int mRequestedHeight; + long mCurrentFragment; static class IconListenerSet implements IconListener { @@ -124,10 +135,12 @@ public class CombinedBookmarkHistoryActivity extends Activity list.setAdapter(new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, new String[] { "name" }, new int[] { android.R.id.text1 })); - int startingFragment = FRAGMENT_ID_BOOKMARKS; + int startingFragment = FRAGMENT_ID_BOOKMARKS; Bundle extras = getIntent().getExtras(); if (extras != null) { mNewTabMode = extras.getBoolean(NEWTAB_MODE); + mRequestedTop = extras.getInt(EXTRA_TOP); + mRequestedHeight = extras.getInt(EXTRA_HEIGHT); startingFragment = extras.getInt(STARTING_FRAGMENT, FRAGMENT_ID_BOOKMARKS); } @@ -150,6 +163,31 @@ public class CombinedBookmarkHistoryActivity extends Activity }).execute(); } + @Override + public void onAttachedToWindow() { + if (mRequestedTop > -1) { + WindowManager.LayoutParams lp = getWindow().getAttributes(); + lp.x = 0; + lp.y = mRequestedTop; + lp.height = mRequestedHeight; + lp.gravity = Gravity.TOP | Gravity.LEFT; + getWindow().setAttributes(lp); + } + } + + @Override + public boolean onTouchEvent(MotionEvent evt) { + if (((evt.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_DOWN) && (evt.getY() < 0)) { + Intent result = new Intent(); + result.putExtra(EVT_X, evt.getRawX()); + result.putExtra(EVT_Y, evt.getRawY()); + setResultFromChild(Activity.RESULT_CANCELED, result); + finish(); + return true; + } + return super.onTouchEvent(evt); + } + private void loadFragment(int id) { String fragmentClassName; switch (id) { diff --git a/src/com/android/browser/TitleBarXLarge.java b/src/com/android/browser/TitleBarXLarge.java index f858e2e..a7957ab 100644 --- a/src/com/android/browser/TitleBarXLarge.java +++ b/src/com/android/browser/TitleBarXLarge.java @@ -44,6 +44,7 @@ public class TitleBarXLarge extends TitleBarBase private Drawable mReloadDrawable; private Drawable mProgressDrawable; + private View mContainer; private View mBackButton; private View mForwardButton; private View mStar; @@ -68,6 +69,7 @@ public class TitleBarXLarge extends TitleBarBase LayoutInflater factory = LayoutInflater.from(context); factory.inflate(R.layout.url_bar, this); + mContainer = findViewById(R.id.taburlbar); mUrlView = (UrlInputView) findViewById(R.id.editurl); mAllButton = findViewById(R.id.all_btn); // TODO: Change enabled states based on whether you can go @@ -107,6 +109,10 @@ public class TitleBarXLarge extends TitleBarBase } } + int getHeightWithoutProgress() { + return mContainer.getHeight(); + } + void requestUrlInputFocus() { mUrlView.requestFocus(); } |