/* * * 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 . * */ 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 getCustomKeyList() { ArrayList items = new ArrayList(); 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 ); } }