From db20a4eeac60fd3f0e055873783525b9af00ee9b Mon Sep 17 00:00:00 2001 From: Anthony Restaino Date: Thu, 5 Feb 2015 20:59:52 -0500 Subject: [PATCH] Fixed problem where progress bar didn't display on 4.0 and 4.1 --- AndroidManifest.xml | 4 +- .../lightning/AnimatedProgressBar.java | 1 - .../browser/lightning/BrowserActivity.java | 179 ++++++++++-------- 3 files changed, 97 insertions(+), 87 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 5c2bcc0..d31973a 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -3,8 +3,8 @@ + android:versionCode="71" + android:versionName="4.0.3a" > diff --git a/src/acr/browser/lightning/AnimatedProgressBar.java b/src/acr/browser/lightning/AnimatedProgressBar.java index 102f2c4..95b61be 100644 --- a/src/acr/browser/lightning/AnimatedProgressBar.java +++ b/src/acr/browser/lightning/AnimatedProgressBar.java @@ -98,7 +98,6 @@ public class AnimatedProgressBar extends LinearLayout { mProgressView.getLayoutParams().width = width; mProgressView.requestLayout(); } - mProgressView.invalidate(); } @Override diff --git a/src/acr/browser/lightning/BrowserActivity.java b/src/acr/browser/lightning/BrowserActivity.java index 966d80e..72cd860 100644 --- a/src/acr/browser/lightning/BrowserActivity.java +++ b/src/acr/browser/lightning/BrowserActivity.java @@ -40,6 +40,7 @@ import android.util.Log; import android.util.TypedValue; import android.view.*; import android.view.View.OnClickListener; +import android.view.View.OnFocusChangeListener; import android.view.View.OnKeyListener; import android.view.View.OnLongClickListener; import android.view.View.OnTouchListener; @@ -87,6 +88,8 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl private LightningViewAdapter mTitleAdapter; private List mBookmarkList; private BookmarkViewAdapter mBookmarkAdapter; + private DrawerArrowDrawable mArrowDrawable; + private ImageView mArrowImage; private AutoCompleteTextView mSearch; private ClickHandler mClickHandler; private AnimatedProgressBar mProgressBar; @@ -227,9 +230,9 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl // TODO - final DrawerArrowDrawable drawable = new DrawerArrowDrawable(this); - final ImageView arrow = (ImageView) mActionBar.getCustomView().findViewById(R.id.arrow); - arrow.setImageDrawable(drawable); + mArrowDrawable = new DrawerArrowDrawable(this); + mArrowImage = (ImageView) mActionBar.getCustomView().findViewById(R.id.arrow); + mArrowImage.setImageDrawable(mArrowDrawable); LinearLayout arrowButton = (LinearLayout) mActionBar.getCustomView().findViewById( R.id.arrow_button); arrowButton.setOnClickListener(new OnClickListener() { @@ -290,8 +293,65 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl mCopyIcon.setBounds(0, 0, Utils.convertDpiToPixels(mContext, 24), Utils.convertDpiToPixels(mContext, 24)); mIcon = mRefreshIcon; + SearchClass search = new SearchClass(); mSearch.setCompoundDrawables(null, null, mRefreshIcon, null); - mSearch.setOnKeyListener(new OnKeyListener() { + mSearch.setOnKeyListener(search.new KeyListener()); + mSearch.setOnFocusChangeListener(search.new FocusChangeListener()); + mSearch.setOnEditorActionListener(search.new EditorActionListener()); + mSearch.setOnTouchListener(search.new TouchListener()); + + mSystemBrowser = getSystemBrowser(); + Thread initialize = new Thread(new Runnable() { + + @Override + public void run() { + initializeSearchSuggestions(mSearch); + } + + }); + initialize.run(); + + mNewTab.setOnClickListener(new OnClickListener() { + + @Override + public void onClick(View arg0) { + newTab(null, true); + } + + }); + + mNewTab.setOnLongClickListener(new OnLongClickListener() { + + @Override + public boolean onLongClick(View v) { + String url = mPreferences.getString(PreferenceConstants.SAVE_URL, null); + if (url != null) { + newTab(url, true); + Toast.makeText(mContext, R.string.deleted_tab, Toast.LENGTH_SHORT).show(); + } + mEditPrefs.putString(PreferenceConstants.SAVE_URL, null).apply(); + return true; + } + + }); + + // mDrawerLayout.setDrawerListener(mDrawerToggle); + mDrawerLayout.setDrawerShadow(R.drawable.drawer_right_shadow, GravityCompat.END); + mDrawerLayout.setDrawerShadow(R.drawable.drawer_left_shadow, GravityCompat.START); + initializePreferences(); + initializeTabs(); + + if (API <= Build.VERSION_CODES.JELLY_BEAN_MR2) { + WebIconDatabase.getInstance().open(getDir("icons", MODE_PRIVATE).getPath()); + } + + checkForTor(); + + } + + private class SearchClass { + + public class KeyListener implements OnKeyListener { @Override public boolean onKey(View arg0, int arg1, KeyEvent arg2) { @@ -311,9 +371,31 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl return false; } - }); - mSearch.setOnFocusChangeListener(new View.OnFocusChangeListener() { + } + + public class EditorActionListener implements OnEditorActionListener { + @Override + public boolean onEditorAction(TextView arg0, int actionId, KeyEvent arg2) { + // hide the keyboard and search the web when the enter key + // button is pressed + if (actionId == EditorInfo.IME_ACTION_GO || actionId == EditorInfo.IME_ACTION_DONE + || actionId == EditorInfo.IME_ACTION_NEXT + || actionId == EditorInfo.IME_ACTION_SEND + || actionId == EditorInfo.IME_ACTION_SEARCH + || (arg2.getAction() == KeyEvent.KEYCODE_ENTER)) { + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(mSearch.getWindowToken(), 0); + searchTheWeb(mSearch.getText().toString()); + if (mCurrentView != null) { + mCurrentView.requestFocus(); + } + return true; + } + return false; + } + } + public class FocusChangeListener implements OnFocusChangeListener { @Override public void onFocusChange(View v, final boolean hasFocus) { if (!hasFocus && mCurrentView != null) { @@ -336,9 +418,9 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl @Override protected void applyTransformation(float interpolatedTime, Transformation t) { if (!hasFocus) { - drawable.setProgress(1.0f - interpolatedTime); + mArrowDrawable.setProgress(1.0f - interpolatedTime); } else { - drawable.setProgress(interpolatedTime); + mArrowDrawable.setProgress(interpolatedTime); } } @@ -359,9 +441,9 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl @Override public void onAnimationEnd(Animation animation) { if (!hasFocus) { - drawable.setProgress(0.0f); + mArrowDrawable.setProgress(0.0f); } else { - drawable.setProgress(1.0f); + mArrowDrawable.setProgress(1.0f); } } @@ -374,7 +456,7 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl @Override public void run() { - arrow.startAnimation(anim); + mArrowImage.startAnimation(anim); } }, 100); @@ -384,32 +466,9 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl imm.hideSoftInputFromWindow(mSearch.getWindowToken(), 0); } } - }); - mSearch.setOnEditorActionListener(new OnEditorActionListener() { - - @Override - public boolean onEditorAction(TextView arg0, int actionId, KeyEvent arg2) { - // hide the keyboard and search the web when the enter key - // button is pressed - if (actionId == EditorInfo.IME_ACTION_GO || actionId == EditorInfo.IME_ACTION_DONE - || actionId == EditorInfo.IME_ACTION_NEXT - || actionId == EditorInfo.IME_ACTION_SEND - || actionId == EditorInfo.IME_ACTION_SEARCH - || (arg2.getAction() == KeyEvent.KEYCODE_ENTER)) { - InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(mSearch.getWindowToken(), 0); - searchTheWeb(mSearch.getText().toString()); - if (mCurrentView != null) { - mCurrentView.requestFocus(); - } - return true; - } - return false; - } - - }); + } - mSearch.setOnTouchListener(new OnTouchListener() { + public class TouchListener implements OnTouchListener { @SuppressLint("ClickableViewAccessibility") @Override @@ -438,55 +497,7 @@ public class BrowserActivity extends ActionBarActivity implements BrowserControl return false; } - }); - - mSystemBrowser = getSystemBrowser(); - Thread initialize = new Thread(new Runnable() { - - @Override - public void run() { - initializeSearchSuggestions(mSearch); - } - - }); - initialize.run(); - - mNewTab.setOnClickListener(new OnClickListener() { - - @Override - public void onClick(View arg0) { - newTab(null, true); - } - - }); - - mNewTab.setOnLongClickListener(new OnLongClickListener() { - - @Override - public boolean onLongClick(View v) { - String url = mPreferences.getString(PreferenceConstants.SAVE_URL, null); - if (url != null) { - newTab(url, true); - Toast.makeText(mContext, R.string.deleted_tab, Toast.LENGTH_SHORT).show(); - } - mEditPrefs.putString(PreferenceConstants.SAVE_URL, null).apply(); - return true; - } - - }); - - // mDrawerLayout.setDrawerListener(mDrawerToggle); - mDrawerLayout.setDrawerShadow(R.drawable.drawer_right_shadow, GravityCompat.END); - mDrawerLayout.setDrawerShadow(R.drawable.drawer_left_shadow, GravityCompat.START); - initializePreferences(); - initializeTabs(); - - if (API <= Build.VERSION_CODES.JELLY_BEAN_MR2) { - WebIconDatabase.getInstance().open(getDir("icons", MODE_PRIVATE).getPath()); } - - checkForTor(); - } private class DrawerLocker implements DrawerListener {