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