summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod
diff options
context:
space:
mode:
authorTom Hennen <TomHennen@users.noreply.github.com>2015-09-15 17:16:11 -0400
committerTom Hennen <TomHennen@users.noreply.github.com>2015-09-15 17:16:11 -0400
commit8d4bdd5ba1a027a468e1a40eadc2b3ae6fc62faf (patch)
treeec3eb613a1e315845dfe4c224f0e786c9e8cf54d /app/src/main/java/de/danoeh/antennapod
parentd703a2b218c7a338d4955f057f21317bd9b0795a (diff)
parent8270e435b58773ee346230ee89c53034cddf248f (diff)
downloadAntennaPod-8d4bdd5ba1a027a468e1a40eadc2b3ae6fc62faf.zip
Merge pull request #1193 from mfietz/cropped_dialog_buttons
Licenses: Material Dialogs, bug fix, nicer layout
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java49
1 files changed, 45 insertions, 4 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
index 6ba84c249..df764e829 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
@@ -34,6 +34,7 @@ public class AboutActivity extends ActionBarActivity {
private WebView webview;
private LinearLayout webviewContainer;
+ private boolean showingLicense = false;
private Subscription subscription;
@@ -56,11 +57,16 @@ public class AboutActivity extends ActionBarActivity {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
- view.loadUrl(url);
- return false;
+ url = url.replace("file:///android_asset/", "");
+ loadAsset(url);
+ return true;
}
});
+ loadAsset("about.html");
+ }
+
+ private void loadAsset(String filename) {
subscription = Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
@@ -71,8 +77,33 @@ public class AboutActivity extends ActionBarActivity {
int colorResource = res.getColor(0, 0);
String colorString = String.format("#%06X", 0xFFFFFF & colorResource);
res.recycle();
- input = getAssets().open("about.html");
+ input = getAssets().open(filename);
String webViewData = IOUtils.toString(input, Charset.defaultCharset());
+ if(false == webViewData.startsWith("<!DOCTYPE html>")) {
+ //webViewData = webViewData.replace("\n\n", "</p><p>");
+ webViewData = webViewData.replace("%", "&#37;");
+ webViewData =
+ "<!DOCTYPE html>" +
+ "<html>" +
+ "<head>" +
+ " <meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">" +
+ " <style type=\"text/css\">" +
+ " @font-face {" +
+ " font-family: 'Roboto-Light';" +
+ " src: url('file:///android_asset/Roboto-Light.ttf');" +
+ " }" +
+ " * {" +
+ " color: %s;" +
+ " font-family: roboto-Light;" +
+ " font-size: 8pt;" +
+ " }" +
+ " </style>" +
+ "</head><body><p>" + webViewData + "</p></body></html>";
+ webViewData = webViewData.replace("\n", "<br/>");
+ showingLicense = true;
+ } else {
+ showingLicense = false;
+ }
webViewData = String.format(webViewData, colorString);
subscriber.onNext(webViewData);
} catch (IOException e) {
@@ -86,13 +117,23 @@ public class AboutActivity extends ActionBarActivity {
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(webviewData -> {
- webview.loadDataWithBaseURL(null, webviewData, "text/html", "utf-8", "about:blank");
+ webview.loadDataWithBaseURL("file:///android_asset/", webviewData, "text/html",
+ "utf-8", "about:blank");
}, error -> {
Log.e(TAG, Log.getStackTraceString(error));
});
}
@Override
+ public void onBackPressed() {
+ if(showingLicense) {
+ loadAsset("about.html");
+ } else {
+ super.onBackPressed();
+ }
+ }
+
+ @Override
protected void onDestroy() {
super.onDestroy();
if(subscription != null) {