package org.qii.weiciyuan.ui.preference; import org.qii.weiciyuan.R; import org.qii.weiciyuan.support.utils.Utility; import org.qii.weiciyuan.ui.interfaces.AbstractAppActivity; import android.app.ActionBar; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.print.PrintDocumentAdapter; import android.print.PrintManager; import android.view.Menu; import android.view.MenuItem; import android.view.WindowManager; import android.webkit.WebView; /** * User: qii * Date: 13-4-18 */ public class LicenseActivity extends AbstractAppActivity { private WebView webView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); switch (theme) { case R.style.AppTheme_Light: setTheme(android.R.style.Theme_Holo_Light_DialogWhenLarge); break; default: setTheme(android.R.style.Theme_Holo_DialogWhenLarge); } ActionBar actionBar = getActionBar(); if (actionBar != null) { actionBar.setDisplayShowHomeEnabled(false); actionBar.setDisplayShowTitleEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setTitle(getString(R.string.pref_open_source_license_title)); } else { setTitle(getString(R.string.pref_open_source_license_title)); } webView = new WebView(this); setContentView(webView); if (getWindow().isFloating()) { WindowManager.LayoutParams layout = new WindowManager.LayoutParams(); layout.copyFrom(getWindow().getAttributes()); layout.height = WindowManager.LayoutParams.MATCH_PARENT; getWindow().setAttributes(layout); } webView.loadUrl("file:///android_asset/licenses.html"); } @Override public void onBackPressed() { if (webView != null && webView.canGoBack()) { webView.goBack(); } else { super.onBackPressed(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { if (Utility.isKK()) { getMenuInflater().inflate(R.menu.actionbar_menu_licenseactivity, menu); return true; } else { return super.onCreateOptionsMenu(menu); } } @Override public boolean onOptionsItemSelected(MenuItem item) { Intent intent; switch (item.getItemId()) { case android.R.id.home: intent = new Intent(this, AboutActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); return true; case R.id.menu_print: PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE); PrintDocumentAdapter adapter = webView.createPrintDocumentAdapter(); printManager.print(getString(R.string.app_name), adapter, null); return true; } return false; } }