diff --git a/app/libs/WebViewCREA-legacy20-release.aar b/app/libs/WebViewCREA-legacy20-release.aar index ddf22ae..f675067 100644 Binary files a/app/libs/WebViewCREA-legacy20-release.aar and b/app/libs/WebViewCREA-legacy20-release.aar differ diff --git a/app/libs/WebViewCREA-standard-release.aar b/app/libs/WebViewCREA-standard-release.aar index 47b8e9b..1cf7092 100644 Binary files a/app/libs/WebViewCREA-standard-release.aar and b/app/libs/WebViewCREA-standard-release.aar differ diff --git a/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/HistoryActivity.java b/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/HistoryActivity.java index 2feb2bf..28850ac 100644 --- a/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/HistoryActivity.java +++ b/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/HistoryActivity.java @@ -9,6 +9,7 @@ import android.text.format.DateFormat; import android.view.LayoutInflater; import android.view.View; +import android.view.Window; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; @@ -33,9 +34,13 @@ public class HistoryActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){ + requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); + } setContentView(R.layout.layout_history); if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD) { + getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.top_bar); this.actionBarIcon = (ImageView) findViewById(R.id.top_bar_icon); TextView actionBarTitle = (TextView) findViewById(R.id.top_bar_title); if (actionBarTitle != null) { diff --git a/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/MainActivity.java b/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/MainActivity.java index 6b280cd..19f785b 100644 --- a/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/MainActivity.java +++ b/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/MainActivity.java @@ -24,6 +24,7 @@ import android.util.TypedValue; import android.view.View; import android.view.Menu; +import android.view.Window; import android.view.MenuItem; import android.security.KeyChain; import android.security.KeyChainAliasCallback; @@ -101,9 +102,10 @@ protected void onCreate(Bundle savedInstanceState){ this.viewcodeExt = AssetUtils.readAssetAsString(getAssets(), "viewcodeExt.js"); if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){ - this.actionBarTitle = (TextView) findViewById(R.id.top_bar_title); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.top_bar); + this.actionBar = (RelativeLayout) findViewById(R.id.top_bar_layout); originalXmlBackground = actionBar.getBackground(); + this.actionBarTitle = (TextView) findViewById(R.id.top_bar_title); this.actionBarIcon = (ImageView) findViewById(R.id.top_bar_icon); WebIconDatabase.getInstance().open(getDir("icons", MODE_PRIVATE).getPath()); @@ -172,14 +174,34 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { String url = request.getUrl().toString(); - if (url != null && url.startsWith(SCHEME_COLOR_PREFIX)) { - applyDynamicColor(url.substring(SCHEME_COLOR_PREFIX.length())); - return true; - } - if(url != null && url.startsWith(SCHEME_MARKS_PREFIX)){ - Intent intent = new Intent(MainActivity.this, MarksActivity.class); - startActivity(intent); - return true; + if(url != null && !TextUtils.isEmpty(url)){ + if (url.startsWith(SCHEME_COLOR_PREFIX)) { + applyDynamicColor(url.substring(SCHEME_COLOR_PREFIX.length())); + return true; + }else if(url.startsWith(SCHEME_MARKS_PREFIX)){ + Intent intent = new Intent(MainActivity.this, MarksActivity.class); + startActivity(intent); + return true; + }else if(url.startsWith(SCHEME_HISTORY_PREFIX)){ + Intent intent = new Intent(MainActivity.this, HistoryActivity.class); + startActivity(intent); + return true; + }else if(url.startsWith(SCHEME_SEARCH_PREFIX)){ + String query = url.substring(SCHEME_SEARCH_PREFIX.length()); + if(TextUtils.isEmpty(query)){ + return true; + } + int selectedPos = SearchEngineManager.getSelectedEngineIndex(MainActivity.this); + List engines = SearchEngineManager.getEngines(MainActivity.this); + SearchEngineManager.Engine selectedEngine = engines.get(selectedPos); + try { + String searchUrl = String.format(selectedEngine.searchUrl, query); + creaClient.loadUrl(webView, searchUrl); + } catch (Exception e) { + creaClient.loadUrl(webView, selectedEngine.searchUrl.replace("%s", query)); + } + return true; + } } if (openInExternalAppIfPossible(url)) { return true; @@ -189,6 +211,14 @@ public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request @Override public void onPageStarted(WebView view, String url, Bitmap favicon){ + uniShowProgress(); + } + @Override + public void onPatchStarted(WebView view, String url){ + uniShowProgress(); + } + + private void uniShowProgress(){ progressBar.setVisibility(View.VISIBLE); progressBar.bringToFront(); } @@ -260,7 +290,7 @@ public void alias(String alias) { } }; - creaClient.setWebChromeClient(webView, new WebChromeClient(){ + webView.setWebChromeClient(new WebChromeClient(){ @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); diff --git a/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/MarksActivity.java b/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/MarksActivity.java index b670568..a6dbc7e 100644 --- a/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/MarksActivity.java +++ b/app/src/main/java/org/CreadoresProgram/RetroCreaBrowser/MarksActivity.java @@ -9,6 +9,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.Window; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ListView; @@ -27,8 +28,12 @@ public class MarksActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); + if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){ + requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); + } setContentView(R.layout.layout_marks); if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){ + getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.top_bar); this.actionBarIcon = (ImageView) findViewById(R.id.top_bar_icon); TextView actionBarTitle = (TextView) findViewById(R.id.top_bar_title); actionBarTitle.setText(R.string.marks); diff --git a/app/src/main/res/layout-v8/layout_history.xml b/app/src/main/res/layout-v8/layout_history.xml index 2a8b2c3..0f0422a 100644 --- a/app/src/main/res/layout-v8/layout_history.xml +++ b/app/src/main/res/layout-v8/layout_history.xml @@ -5,11 +5,6 @@ android:orientation="vertical"> - - -