]> git.zerfleddert.de Git - FreeShisen/blobdiff - src/de/cwde/shisensho/ShisenShoActivity.java
rename, add hdpi icons, cleanup some warnings
[FreeShisen] / src / de / cwde / shisensho / ShisenShoActivity.java
diff --git a/src/de/cwde/shisensho/ShisenShoActivity.java b/src/de/cwde/shisensho/ShisenShoActivity.java
new file mode 100644 (file)
index 0000000..b87979f
--- /dev/null
@@ -0,0 +1,120 @@
+package de.cwde.shisensho;
+
+import de.cwde.shisensho.R;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.Intent;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.os.Bundle;
+import android.text.SpannableString;
+import android.text.util.Linkify;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.widget.TextView;
+
+public class ShisenShoActivity extends Activity {
+       private ShisenShoView view;
+
+       /** Called when the activity is first created. */
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        requestWindowFeature(Window.FEATURE_NO_TITLE);
+        //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
+        //             WindowManager.LayoutParams.FLAG_FULLSCREEN);
+
+        view = ShisenSho.app().getView();
+        ShisenSho.app().activity = this;
+        setContentView(view);
+    }
+
+       @Override
+       protected void onDestroy() {
+               ViewGroup vg = (ViewGroup)(view.getParent());
+               vg.removeView(view);
+        ShisenSho.app().activity = null;
+               super.onDestroy();
+       }
+
+       @Override
+       protected void onPause() {
+               if (view!=null) {
+                       view.pauseTime();
+               }
+               super.onPause();
+       }
+
+       @Override
+       protected void onResume() {
+               super.onResume();
+               if (view!=null) {
+                       view.resumeTime();
+               }
+       }
+
+       @Override
+       public boolean onCreateOptionsMenu(Menu menu) {
+           MenuInflater inflater = getMenuInflater();
+           inflater.inflate(R.menu.menu, menu);
+           return true;
+       }
+
+       @Override
+       public boolean onOptionsItemSelected(MenuItem item) {
+           // Handle item selection
+           switch (item.getItemId()) {
+           case R.id.hint:
+           case R.id.undo:
+           case R.id.clean:
+               return view.onOptionsItemSelected(item);
+           case R.id.options:
+               startActivityForResult(new Intent("de.cwde.shisensho.SETTINGS", null), 0);
+               return true;
+           case R.id.about:
+               onAboutActivate();
+               return true;
+           default:
+               return super.onOptionsItemSelected(item);
+           }
+       }
+
+       private void onAboutActivate() {
+        // Try to load the a package matching the name of our own package
+        PackageInfo pInfo;
+               try {
+                       pInfo = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_META_DATA);
+               String aboutTitle = String.format("About %s", getString(R.string.app_name));
+               String versionString = String.format("Version: %s", pInfo.versionName);
+               String aboutText = getString(R.string.aboutText);
+
+               // Set up the TextView
+               final TextView message = new TextView(this);
+               // We'll use a spannablestring to be able to make links clickable
+               final SpannableString s = new SpannableString(aboutText);
+
+               // Set some padding
+               message.setPadding(5, 5, 5, 5);
+               // Set up the final string
+               message.setText(versionString + "\n" + s);
+               // Now linkify the text
+               Linkify.addLinks(message, Linkify.ALL);
+
+               new AlertDialog.Builder(this)
+                       .setTitle(aboutTitle)
+                       .setCancelable(true)
+                       .setIcon(R.drawable.icon)
+                       .setPositiveButton(getString(android.R.string.ok), null)
+                       .setView(message).create()
+                       .show();
+               } catch (NameNotFoundException e) {
+                       e.printStackTrace();
+               }
+       }
+}
Impressum, Datenschutz