]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/HtmlDisplayActivity.java
Switch to app compat preferences.
[Dictionary.git] / src / com / hughes / android / dictionary / HtmlDisplayActivity.java
index 5e9815902aef187cedd70d4fc288da95686c2974..f6a37e93e5cbdd4ec1063a3153da1872bd84de33 100644 (file)
@@ -18,7 +18,7 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.os.Bundle;
-import android.preference.PreferenceManager;
+import android.support.v7.preference.PreferenceManager;
 import android.support.v7.app.ActionBar;
 import android.support.v7.app.AppCompatActivity;
 import android.util.Base64;
@@ -31,7 +31,7 @@ import com.hughes.util.StringUtil;
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
+import java.io.UnsupportedEncodingException;
 
 public final class HtmlDisplayActivity extends AppCompatActivity {
 
@@ -101,8 +101,13 @@ public final class HtmlDisplayActivity extends AppCompatActivity {
             fontSizeSp = 14;
         }
         webView.getSettings().setDefaultFontSize(fontSizeSp);
-        // No way to get pure UTF-8 data into WebView
-        html = Base64.encodeToString(html.getBytes(StandardCharsets.UTF_8), Base64.DEFAULT);
+        try {
+            // No way to get pure UTF-8 data into WebView
+            // Cannot use StandardCharsets due to older Android.
+            html = Base64.encodeToString(html.getBytes("UTF-8"), Base64.DEFAULT);
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException("Missing UTF-8 support?!", e);
+        }
         // Use loadURL to allow specifying a charset
         webView.loadUrl("data:text/html;charset=utf-8;base64," + html);
         webView.activity = this;