summaryrefslogtreecommitdiffstats
path: root/src/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/net')
-rw-r--r--src/net/hoopajoo/android/SoftKeys/CustomKey.java115
1 files changed, 115 insertions, 0 deletions
diff --git a/src/net/hoopajoo/android/SoftKeys/CustomKey.java b/src/net/hoopajoo/android/SoftKeys/CustomKey.java
new file mode 100644
index 0000000..1e18ee0
--- /dev/null
+++ b/src/net/hoopajoo/android/SoftKeys/CustomKey.java
@@ -0,0 +1,115 @@
+/*
+ *
+ * Copyright (c) 2010 Steve Slaven
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+*/
+package net.hoopajoo.android.SoftKeys;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import android.app.Activity;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.view.View.OnClickListener;
+import android.view.View.OnLongClickListener;
+import android.view.View.OnTouchListener;
+import android.widget.ImageButton;
+import android.widget.RemoteViews;
+import android.widget.Toast;
+
+public class CustomKey {
+ public String mName;
+ public int mId;
+
+ CustomKey( int id, String name ) {
+ mName = prettyPrint( name );
+ mId = id;
+ }
+
+ public String toString() {
+ return mName;
+ }
+
+ public static String prettyPrint( String n ) {
+ // replace _ with space, initcap
+ String s = n.replace( "_", " " );
+
+ boolean bound = true;
+ StringBuilder r = new StringBuilder();
+ for( int i = 0; i < s.length(); i++ ) {
+ if( bound ) {
+ // cap
+ r.append( Character.toUpperCase( s.charAt( i ) ) );
+ bound = false;
+ }else{
+ r.append( Character.toLowerCase( s.charAt( i ) ) );
+ }
+
+ // check for boundry
+ if( Character.isSpace( s.charAt( i ) ) ) {
+ bound = true;
+ }
+ }
+
+ return r.toString();
+ }
+
+ public static ArrayList<CustomKey> getCustomKeyList() {
+ ArrayList<CustomKey> items = new ArrayList<CustomKey>();
+
+ items.add( new CustomKey( 0, "NONE" ) );
+ items.add( new CustomKey( -1, "SLEEP" ) );
+ items.add( new CustomKey( -2, "CB: TAB" ) );
+ items.add( new CustomKey( -3, "CB: ESCAPE" ) );
+
+ for( int cnt = 1; cnt < 100; cnt++ ) {
+ String name = K.keyIdToName( cnt );
+ if( name != null ) {
+ items.add( new CustomKey( cnt, name ) );
+ }
+ }
+
+ return( items );
+ }
+} \ No newline at end of file