Revision 03f389d1
res/menu/webview.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="utf-8"?> |
|
2 |
<menu xmlns:android="http://schemas.android.com/apk/res/android" > |
|
3 |
|
|
4 |
<item |
|
5 |
android:id="@+id/share" |
|
6 |
android:icon="@android:drawable/ic_menu_share" |
|
7 |
android:showAsAction="always" |
|
8 |
android:title="@string/share"/> |
|
9 |
<item |
|
10 |
android:id="@+id/open_in_browser" |
|
11 |
android:icon="@android:drawable/ic_menu_view" |
|
12 |
android:showAsAction="ifRoom|withText" |
|
13 |
android:title="@string/open_in_browser"/> |
|
14 |
|
|
15 |
</menu> |
res/values/strings.xml | ||
---|---|---|
9 | 9 |
<string name="by_package_name">By Package Name</string> |
10 | 10 |
<string name="by_apk_hash">By APK Hash</string> |
11 | 11 |
<string name="by_signing_certificate">By Signing Certificate</string> |
12 |
<string name="open_in_browser">Open in Browser</string> |
|
13 |
<string name="share">Share</string> |
|
14 |
<string name="share_url_using">Share URL using:</string> |
|
15 |
<string name="save">Save…</string> |
|
12 | 16 |
|
13 | 17 |
</resources> |
src/info/guardianproject/checkey/AppListFragment.java | ||
---|---|---|
176 | 176 |
public boolean onActionItemClicked(ActionMode mode, MenuItem item) { |
177 | 177 |
AppEntry appEntry = (AppEntry) adapter.getItem(selectedItem); |
178 | 178 |
Intent intent = new Intent(getActivity(), WebViewActivity.class); |
179 |
intent.putExtra(Intent.EXTRA_TEXT, appEntry.getLabel()); |
|
179 | 180 |
switch (item.getItemId()) { |
180 | 181 |
case R.id.virustotal: |
181 | 182 |
virustotal(appEntry, intent); |
src/info/guardianproject/checkey/WebViewActivity.java | ||
---|---|---|
7 | 7 |
import android.os.Bundle; |
8 | 8 |
import android.support.v7.app.ActionBar; |
9 | 9 |
import android.support.v7.app.ActionBarActivity; |
10 |
import android.util.Log; |
|
11 | 10 |
import android.view.Menu; |
12 | 11 |
import android.view.MenuItem; |
13 | 12 |
import android.webkit.SslErrorHandler; |
... | ... | |
16 | 15 |
|
17 | 16 |
public class WebViewActivity extends ActionBarActivity { |
18 | 17 |
|
18 |
private Intent intent; |
|
19 | 19 |
private Uri uri; |
20 | 20 |
|
21 | 21 |
@Override |
... | ... | |
25 | 25 |
ActionBar actionBar = getSupportActionBar(); |
26 | 26 |
actionBar.setDisplayHomeAsUpEnabled(true); |
27 | 27 |
|
28 |
Intent intent = getIntent();
|
|
28 |
intent = getIntent(); |
|
29 | 29 |
int resid = intent.getIntExtra(Intent.EXTRA_TITLE, 0); |
30 | 30 |
if (resid != 0) |
31 | 31 |
actionBar.setTitle(resid); |
... | ... | |
34 | 34 |
webView.setWebViewClient(new MyWebViewClient()); |
35 | 35 |
uri = intent.getData(); |
36 | 36 |
webView.loadUrl(uri.toString()); |
37 |
Log.i("WebViewActivity", uri.toString()); |
|
37 |
} |
|
38 |
|
|
39 |
@Override |
|
40 |
public boolean onCreateOptionsMenu(Menu menu) { |
|
41 |
getMenuInflater().inflate(R.menu.webview, menu); |
|
42 |
return true; |
|
43 |
} |
|
44 |
|
|
45 |
@Override |
|
46 |
public boolean onOptionsItemSelected(MenuItem item) { |
|
47 |
switch (item.getItemId()) { |
|
48 |
case android.R.id.home: |
|
49 |
setResult(RESULT_CANCELED); |
|
50 |
finish(); |
|
51 |
return true; |
|
52 |
case R.id.share: |
|
53 |
String appName = intent.getStringExtra(Intent.EXTRA_TEXT); |
|
54 |
Intent i = new Intent(Intent.ACTION_SEND); |
|
55 |
i.setType("plain/text"); |
|
56 |
i.putExtra(Intent.EXTRA_TITLE, appName); |
|
57 |
i.putExtra(Intent.EXTRA_SUBJECT, appName); |
|
58 |
i.putExtra(Intent.EXTRA_TEXT, uri.toString()); |
|
59 |
startActivity(Intent.createChooser(i, getString(R.string.share_url_using))); |
|
60 |
return true; |
|
61 |
case R.id.open_in_browser: |
|
62 |
startActivity(new Intent(Intent.ACTION_VIEW, uri)); |
|
63 |
return true; |
|
64 |
} |
|
65 |
return super.onOptionsItemSelected(item); |
|
38 | 66 |
} |
39 | 67 |
|
40 | 68 |
private class MyWebViewClient extends WebViewClient { |
... | ... | |
53 | 81 |
|
54 | 82 |
@Override |
55 | 83 |
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { |
56 |
Log.i("MyWebViewClient", "onReceivedSslError: " + uri); |
|
57 | 84 |
String host = uri.getHost(); |
58 |
Log.i("MyWebViewClient", "getPrimaryError: " + error.getPrimaryError()); |
|
59 | 85 |
int errno = error.getPrimaryError(); |
60 | 86 |
if (host.equals("androidobservatory.org") |
61 | 87 |
&& (errno == SslError.SSL_EXPIRED || errno == SslError.SSL_UNTRUSTED)) { |
Also available in: Unified diff