Blame client/Android/Studio/freeRDPCore/src/main/java/com/freerdp/freerdpcore/presentation/AboutActivity.java

Packit Service fa4841
package com.freerdp.freerdpcore.presentation;
Packit Service fa4841
Packit Service fa4841
import android.content.pm.PackageManager;
Packit Service fa4841
import android.content.res.Configuration;
Packit Service fa4841
import android.nfc.FormatException;
Packit Service fa4841
import android.os.Build;
Packit Service fa4841
import android.os.Bundle;
Packit Service fa4841
import android.support.v4.text.TextUtilsCompat;
Packit Service fa4841
import android.support.v7.app.AppCompatActivity;
Packit Service fa4841
import android.util.Log;
Packit Service fa4841
import android.webkit.WebSettings;
Packit Service fa4841
import android.webkit.WebView;
Packit Service fa4841
Packit Service fa4841
import com.freerdp.freerdpcore.R;
Packit Service fa4841
import com.freerdp.freerdpcore.services.LibFreeRDP;
Packit Service fa4841
Packit Service fa4841
import java.io.BufferedReader;
Packit Service fa4841
import java.io.IOException;
Packit Service fa4841
import java.io.InputStream;
Packit Service fa4841
import java.io.InputStreamReader;
Packit Service fa4841
import java.util.Formatter;
Packit Service fa4841
import java.util.IllegalFormatException;
Packit Service fa4841
import java.util.Locale;
Packit Service fa4841
Packit Service bb5c11
public class AboutActivity extends AppCompatActivity {
Packit Service bb5c11
    private static final String TAG = AboutActivity.class.toString();
Packit Service bb5c11
    private WebView mWebView;
Packit Service bb5c11
Packit Service bb5c11
    @Override
Packit Service bb5c11
    protected void onCreate(Bundle savedInstanceState) {
Packit Service bb5c11
        super.onCreate(savedInstanceState);
Packit Service bb5c11
        setContentView(R.layout.activity_about);
Packit Service bb5c11
        mWebView = (WebView) findViewById(R.id.activity_about_webview);
Packit Service bb5c11
    }
Packit Service bb5c11
Packit Service bb5c11
    @Override
Packit Service bb5c11
    protected void onResume() {
Packit Service bb5c11
        populate();
Packit Service bb5c11
        super.onResume();
Packit Service bb5c11
    }
Packit Service bb5c11
Packit Service bb5c11
    private void populate() {
Packit Service bb5c11
        StringBuilder total = new StringBuilder();
Packit Service bb5c11
Packit Service bb5c11
        String filename = "about_phone.html";
Packit Service bb5c11
        if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) {
Packit Service bb5c11
            filename = "about.html";
Packit Service bb5c11
        }
Packit Service bb5c11
        Locale def = Locale.getDefault();
Packit Service bb5c11
        String prefix = def.getLanguage().toLowerCase(def);
Packit Service bb5c11
Packit Service bb5c11
        String dir = prefix + "_about_page/";
Packit Service bb5c11
        String file = dir + filename;
Packit Service bb5c11
        InputStream is;
Packit Service bb5c11
        try {
Packit Service bb5c11
            is = getAssets().open(file);
Packit Service bb5c11
            is.close();
Packit Service bb5c11
        } catch (IOException e) {
Packit Service bb5c11
            Log.e(TAG, "Missing localized asset " + file, e);
Packit Service bb5c11
            dir = "about_page/";
Packit Service bb5c11
            file = dir + filename;
Packit Service bb5c11
        }
Packit Service bb5c11
Packit Service bb5c11
        try {
Packit Service bb5c11
            BufferedReader r = new BufferedReader(new InputStreamReader(getAssets().open(file)));
Packit Service bb5c11
            try {
Packit Service bb5c11
                String line;
Packit Service bb5c11
                while ((line = r.readLine()) != null) {
Packit Service bb5c11
                    total.append(line);
Packit Service bb5c11
                    total.append("\n");
Packit Service bb5c11
                }
Packit Service bb5c11
            } finally {
Packit Service bb5c11
                r.close();
Packit Service bb5c11
            }
Packit Service bb5c11
        } catch (IOException e) {
Packit Service bb5c11
            Log.e(TAG, "Could not read about page " + file, e);
Packit Service bb5c11
        }
Packit Service bb5c11
Packit Service bb5c11
        // append FreeRDP core version to app version
Packit Service bb5c11
        // get app version
Packit Service bb5c11
        String version;
Packit Service bb5c11
        try {
Packit Service bb5c11
            version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
Packit Service bb5c11
        } catch (PackageManager.NameNotFoundException e) {
Packit Service bb5c11
            version = "unknown";
Packit Service bb5c11
        }
Packit Service bb5c11
        version = version + " (" + LibFreeRDP.getVersion() + ")";
Packit Service bb5c11
Packit Service bb5c11
        WebSettings settings = mWebView.getSettings();
Packit Service bb5c11
        settings.setDomStorageEnabled(true);
Packit Service bb5c11
        settings.setUseWideViewPort(true);
Packit Service bb5c11
        settings.setLoadWithOverviewMode(true);
Packit Service bb5c11
        settings.setSupportZoom(true);
Packit Service bb5c11
Packit Service bb5c11
        final String base = "file:///android_asset/" + dir;
Packit Service bb5c11
Packit Service bb5c11
        final String rawHtml = total.toString();
Packit Service bb5c11
        final String html = rawHtml.replaceAll("%AFREERDP_VERSION%", version)
Packit Service bb5c11
                .replaceAll("%SYSTEM_VERSION%", Build.VERSION.RELEASE)
Packit Service bb5c11
                .replaceAll("%DEVICE_MODEL%", Build.MODEL);
Packit Service bb5c11
Packit Service bb5c11
        mWebView.loadDataWithBaseURL(base, html, "text/html", null,
Packit Service bb5c11
                "about:blank");
Packit Service bb5c11
    }
Packit Service bb5c11
Packit Service fa4841
}