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;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
-import java.nio.charset.StandardCharsets;
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;