package com.almalence.widget;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.xmlpull.v1.XmlPullParserException;
import com.almalence.util.Util;
/* <!-- +++
import com.almalence.opencam_plus.R;
import com.almalence.opencam_plus.ConfigParser;
import com.almalence.opencam_plus.Mode;
import com.almalence.opencam_plus.cameracontroller.CameraController;
import com.almalence.opencam_plus.ui.ElementAdapter;
+++ --> */
//<!-- -+-
import com.almalence.opencam.R;
import com.almalence.opencam.ConfigParser;
import com.almalence.opencam.Mode;
import com.almalence.opencam.cameracontroller.CameraController;
import com.almalence.opencam.ui.ElementAdapter;
//-+- -->
import android.app.Activity;
import android.app.AlertDialog;
import android.appwidget.AppWidgetManager;
import android.content.DialogInterface;
import android.content.DialogInterface.OnKeyListener;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class OpenCameraWidgetConfigureActivity extends Activity implements View.OnClickListener
{
boolean mWidgetConfigurationStarted = false;
int mAppWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;
private RelativeLayout modeListLayout;
private ListView modeList;
private ElementAdapter modeListAdapter;
private List<View> modeListViews;
private GridView modeGrid;
private ElementAdapter modeGridAdapter;
private List<View> modeGridViews;
//private Map<String, View> allModeViews;
public static Map<Integer, OpenCameraWidgetItem> modeGridAssoc;
public static Map<View, OpenCameraWidgetItem> listItems;
private OpenCameraWidgetItem currentModeItem;
private int currentModeIndex;
View buttonBGFirst;
View buttonBGSecond;
View buttonBGThird;
private static int colorIndex = 2;
public static int bgColor = 0x5A000000;
private static boolean isFirstLaunch = true;
SharedPreferences prefs;
public static final String EXTRA_ITEM = "WidgetModeID"; //Clicked mode id from widget.
public static final String EXTRA_TORCH = "WidgetTorchMode";
public static final String EXTRA_BARCODE = "WidgetBarcodeMode";
public static final String EXTRA_SHOP = "WidgetGoShopping";
@Override
protected void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
prefs = PreferenceManager.getDefaultSharedPreferences(this.getBaseContext());
// Log.e("Widget", "Widget Configuration Activity onCreate");
if (!isInstalled("com.almalence.opencam") && !isInstalled("com.almalence.opencam_plus"))
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 2. Chain together various setter methods to set the dialog characteristics
builder.setMessage(R.string.widgetShopText)
.setTitle(R.string.widgetActivation);
builder.setPositiveButton(R.string.widgetGoShopText, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
CallStoreForOpenCamera(OpenCameraWidgetConfigureActivity.this);
finish();
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
});
// 3. Get the AlertDialog from create()
AlertDialog d = builder.create();
d.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(DialogInterface arg0, int keyCode,
KeyEvent keyEvent)
{
if(keyCode == KeyEvent.KEYCODE_BACK)
{
finish();
}
return true;
}
});
d.show();
}
// if ((isInstalled("com.almalence.hdr_plus")) || (isInstalled("com.almalence.pixfix")))
// {
// Editor prefsEditor = prefs.edit();
// prefsEditor.putBoolean("plugin_almalence_hdr", true);
// prefsEditor.commit();
// }
// if (isInstalled("com.almalence.panorama.smoothpanorama"))
// {
// Editor prefsEditor = prefs.edit();
// prefsEditor.putBoolean("plugin_almalence_panorama", true);
// prefsEditor.commit();
// }
//
// /**** Check Billing *****/
// if (false == prefs.contains("unlock_all_forever") &&
// false == prefs.contains("plugin_almalence_hdr") &&
// false == prefs.contains("plugin_almalence_panorama") &&
// false == prefs.contains("plugin_almalence_moving_burst") &&
// false == prefs.contains("plugin_almalence_groupshot"))
// {
//// Log.e("Widget", "Show shop dialog!");
// // 1. Instantiate an AlertDialog.Builder with its constructor
// AlertDialog.Builder builder = new AlertDialog.Builder(this);
//
// // 2. Chain together various setter methods to set the dialog characteristics
// builder.setMessage(R.string.widgetShopText)
// .setTitle(R.string.widgetActivation);
//
// builder.setPositiveButton(R.string.widgetGoShopText, new DialogInterface.OnClickListener() {
// public void onClick(DialogInterface dialog, int id) {
// Bundle extras = new Bundle();
// extras.putBoolean(EXTRA_SHOP, true);
// //Intent modeIntent = new Intent(OpenCameraWidgetConfigureActivity.this, MainScreen.class);
// //Intent modeIntent = new Intent("com.almalence.opencam");
// Intent modeIntent = OpenCameraWidgetConfigureActivity.this.getPackageManager().getLaunchIntentForPackage("com.almalence.opencam");
// modeIntent.putExtras(extras);
// modeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// OpenCameraWidgetConfigureActivity.this.startActivity(modeIntent);
//
// finish();
// }
// });
// builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
// public void onClick(DialogInterface dialog, int id) {
// finish();
// }
// });
//
// // 3. Get the AlertDialog from create()
// AlertDialog d = builder.create();
// //d.setTitle("Activate widget");
// //d.setContentView(R.layout.widget_opencamera_shop_dialog);
// //Button cancelButton = (Button) d.findViewById(R.id.widgetButtonCancel);
// //Button shopButton = (Button) d.findViewById(R.id.widgetButtonGoShop);
//
//// cancelButton.setOnClickListener(new OnClickListener()
//// {
//// @Override
//// public void onClick(View arg0)
//// {
//// finish();
//// }
////
//// });
////
//// shopButton.setOnClickListener(new OnClickListener()
//// {
//// @Override
//// public void onClick(View arg0)
//// {
//// Bundle extras = new Bundle();
//// extras.putBoolean(MainScreen.EXTRA_SHOP, true);
//// Intent modeIntent = new Intent(OpenCameraWidgetConfigureActivity.this, MainScreen.class);
//// modeIntent.putExtras(extras);
//// modeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//// OpenCameraWidgetConfigureActivity.this.startActivity(modeIntent);
////
//// finish();
//// }
////
//// });
//
// d.setOnKeyListener(new OnKeyListener()
// {
// @Override
// public boolean onKey(DialogInterface arg0, int keyCode,
// KeyEvent keyEvent)
// {
// if(keyCode == KeyEvent.KEYCODE_BACK)
// {
// finish();
// }
// return true;
// }
//
// });
// d.show();
// }
isFirstLaunch = prefs.getBoolean("widgetFirstLaunch", true);
colorIndex = prefs.getInt("widgetBGColorIndex", 2);
modeListAdapter = new ElementAdapter();
modeListViews = new ArrayList<View>();
modeGridAdapter = new ElementAdapter();
modeGridViews = new ArrayList<View>();
if(modeGridAssoc == null)
modeGridAssoc = new Hashtable<Integer, OpenCameraWidgetItem>();
listItems = new Hashtable<View, OpenCameraWidgetItem>();
//allModeViews = new Hashtable<String, View>();
setResult(RESULT_CANCELED);
setContentView(R.layout.widget_opencamera_configure);
final Intent intent = getIntent();
final Bundle extras = intent.getExtras();
if (extras != null) {
mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
}
// If they gave us an intent without the widget id, just bail.
if (mAppWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {
finish();
}
View buttonDone = this.findViewById(R.id.doneButton);
if(null != buttonDone)
buttonDone.setOnClickListener(this);
buttonBGFirst = this.findViewById(R.id.bgColorButtonFirst);
buttonBGSecond = this.findViewById(R.id.bgColorButtonSecond);
buttonBGThird = this.findViewById(R.id.bgColorButtonThird);
buttonBGFirst.setOnClickListener(this);
buttonBGSecond.setOnClickListener(this);
buttonBGThird.setOnClickListener(this);
initModeGrid(modeGridAssoc.size() == 0);
initModeList();
initColorButtons();
isFirstLaunch = false;
prefs.edit().putBoolean("widgetFirstLaunch", isFirstLaunch).commit();
}
public void ConfigurationFinished()
{
prefs.edit().putInt("widgetBGColorIndex", colorIndex).commit();
prefs.edit().putInt("widgetBGColor", bgColor).commit();
// First set result OK with appropriate widgetId
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
setResult(RESULT_OK, resultValue);
// Build/Update widget
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(getApplicationContext());
// This is equivalent to your ChecksWidgetProvider.updateAppWidget()
appWidgetManager.updateAppWidget(mAppWidgetId,
OpenCameraWidgetProvider.buildRemoteViews(getApplicationContext(),
mAppWidgetId));
// Updates the collection view, not necessary the first time
appWidgetManager.notifyAppWidgetViewDataChanged(mAppWidgetId, R.id.widgetGrid);
// Destroy activity
finish();
}
@Override
public void onClick(View v)
{
if(v.getId() == R.id.doneButton)
{
ConfigurationFinished();
}
else if(v == buttonBGFirst)
{
buttonBGThird.setSelected(false);
buttonBGSecond.setSelected(false);
buttonBGFirst.setSelected(true);
modeGrid.setBackgroundColor(0x5A3B3131);
bgColor = 0x5A000000;
// bgColor = 0x5A3B3131;
colorIndex = 0;
}
else if(v == buttonBGSecond)
{
buttonBGThird.setSelected(false);
buttonBGSecond.setSelected(true);
buttonBGFirst.setSelected(false);
modeGrid.setBackgroundColor(0xFF000000);
bgColor = 0xFF000000;
colorIndex = 1;
}
else if(v == buttonBGThird)
{
buttonBGThird.setSelected(true);
buttonBGSecond.setSelected(false);
buttonBGFirst.setSelected(false);
modeGrid.setBackgroundColor(0x00000000);
bgColor = 0x00000000;
colorIndex = 2;
}
prefs.edit().putInt("widgetBGColorIndex", colorIndex).commit();
}
private void initColorButtons()
{
switch(colorIndex)
{
case 0:
{
buttonBGThird.setSelected(false);
buttonBGSecond.setSelected(false);
buttonBGFirst.setSelected(true);
modeGrid.setBackgroundColor(0x5A3B3131);
// bgColor = 0x5A3B3131;
bgColor = 0x5A000000;
} break;
case 1:
{
buttonBGThird.setSelected(false);
buttonBGSecond.setSelected(true);
buttonBGFirst.setSelected(false);
modeGrid.setBackgroundColor(0xFF000000);
bgColor = 0xFF000000;
} break;
case 2:
{
buttonBGThird.setSelected(true);
buttonBGSecond.setSelected(false);
buttonBGFirst.setSelected(false);
modeGrid.setBackgroundColor(0x00000000);
bgColor = 0x00000000;
} break;
default: break;
}
}
private void initModeList()
{
modeListLayout = (RelativeLayout)this.findViewById(R.id.widgetConfListLayout);
modeList = (ListView)this.findViewById(R.id.widgetConfList);
listItems.clear();
modeListViews.clear();
if (modeListAdapter.Elements != null) {
modeListAdapter.Elements.clear();
modeListAdapter.notifyDataSetChanged();
}
try
{
LayoutInflater inflator = this.getLayoutInflater();
View mode = inflator.inflate(
R.layout.widget_opencamera_mode_list_element, null,
false);
// set some mode icon
// ((ImageView) mode.findViewById(R.id.modeImage))
// .setImageResource(this.getResources()
// .getIdentifier("gui_almalence_settings_flash_torch", "drawable",
// this.getPackageName()));
final String modename = this.getResources().getString(R.string.widgetHideItem);
((TextView) mode.findViewById(R.id.modeText)).setText(modename);
final OpenCameraWidgetItem item = new OpenCameraWidgetItem("hide", 0, false);
// mode.setOnClickListener(new OnClickListener(){
// @Override
// public void onClick(View v)
// {
// Log.e("Widget","List item onClick!");
// modeGridAssoc.put(currentModeIndex, item);
// initModeGrid(false);
// if(modeList.getVisibility() == View.VISIBLE)
// modeList.setVisibility(View.GONE);
// }
// });
listItems.put(mode, item);
modeListViews.add(mode);
}
catch(RuntimeException exp)
{
}
try {
ConfigParser.getInstance().parse(this.getBaseContext());
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
finish();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
finish();
}
List<Mode> hash = ConfigParser.getInstance().getList();
Iterator<Mode> it = hash.iterator();
while (it.hasNext())
{
final Mode tmp = it.next();
LayoutInflater inflator = this.getLayoutInflater();
View mode = inflator.inflate(
R.layout.widget_opencamera_mode_list_element, null,
false);
// set some mode icon
((ImageView) mode.findViewById(R.id.modeImage))
.setImageResource(this.getResources()
.getIdentifier(CameraController.isUseSuperMode() ? tmp.iconHAL : tmp.icon, "drawable",
this.getPackageName()));
int id = this.getResources().getIdentifier(CameraController.isUseSuperMode() ? tmp.modeNameHAL : tmp.modeName,
"string", this.getPackageName());
final String modename = this.getResources().getString(id);
((TextView) mode.findViewById(R.id.modeText)).setText(modename);
final OpenCameraWidgetItem item = new OpenCameraWidgetItem(tmp.modeID, this.getResources().getIdentifier(
CameraController.isUseSuperMode() ? tmp.iconHAL : tmp.icon, "drawable",
this.getPackageName()), false);
listItems.put(mode, item);
modeListViews.add(mode);
}
try
{
LayoutInflater inflator = this.getLayoutInflater();
View mode = inflator.inflate(
R.layout.widget_opencamera_mode_list_element, null,
false);
// set some mode icon
((ImageView) mode.findViewById(R.id.modeImage))
.setImageResource(this.getResources()
.getIdentifier("gui_almalence_settings_flash_torch", "drawable",
this.getPackageName()));
final String modename = this.getResources().getString(R.string.widgetTorchItem);
((TextView) mode.findViewById(R.id.modeText)).setText(modename);
final OpenCameraWidgetItem item = new OpenCameraWidgetItem("torch", this.getResources().getIdentifier(
"gui_almalence_settings_flash_torch", "drawable",
this.getPackageName()), true);
listItems.put(mode, item);
modeListViews.add(mode);
}
catch(RuntimeException exp)
{
}
try
{
LayoutInflater inflator = this.getLayoutInflater();
View mode = inflator.inflate(
R.layout.widget_opencamera_mode_list_element, null,
false);
// set some mode icon
((ImageView) mode.findViewById(R.id.modeImage))
.setImageResource(this.getResources()
.getIdentifier("gui_almalence_settings_scene_barcode_on", "drawable",
this.getPackageName()));
final String modename = this.getResources().getString(R.string.widgetBarcodeItem);
((TextView) mode.findViewById(R.id.modeText)).setText(modename);
final OpenCameraWidgetItem item = new OpenCameraWidgetItem("barcode", this.getResources().getIdentifier(
"gui_almalence_settings_scene_barcode_on", "drawable",
this.getPackageName()), false);
listItems.put(mode, item);
modeListViews.add(mode);
}
catch(RuntimeException exp)
{
}
try
{
LayoutInflater inflator = this.getLayoutInflater();
View mode = inflator.inflate(
R.layout.widget_opencamera_mode_list_element, null,
false);
// set some mode icon
((ImageView) mode.findViewById(R.id.modeImage))
.setImageResource(R.drawable.gui_almalence_settings_more_settings);
final String modename = this.getResources().getString(R.string.widgetSettingsItem);
((TextView) mode.findViewById(R.id.modeText)).setText(modename);
final OpenCameraWidgetItem item = new OpenCameraWidgetItem("settings", R.drawable.gui_almalence_settings_more_settings, false);
listItems.put(mode, item);
modeListViews.add(mode);
}
catch(RuntimeException exp)
{
}
modeListAdapter.Elements = modeListViews;
modeList.setAdapter(modeListAdapter);
modeListLayout.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
}
});
modeList.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
// Log.e("Widget", "onItemClick");
final OpenCameraWidgetItem item = listItems.get(arg1);
if(currentModeItem.modeName.contains("settings") && !item.modeName.contains("settings"))
{
AlertDialog.Builder builder = new AlertDialog.Builder(OpenCameraWidgetConfigureActivity.this);
// 2. Chain together various setter methods to set the dialog characteristics
builder.setMessage(R.string.widgetHideSettingsText)
.setTitle(R.string.widgetAlert);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
modeGridAssoc.put(currentModeIndex, item);
initModeGrid(false);
prefs.edit().putString("widgetAddedModeID" + String.valueOf(currentModeIndex), item.modeName).commit();
prefs.edit().putInt("widgetAddedModeIcon" + String.valueOf(currentModeIndex), item.modeIconID).commit();
if(modeListLayout.getVisibility() == View.VISIBLE)
modeListLayout.setVisibility(View.GONE);
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
// 3. Get the AlertDialog from create()
AlertDialog d = builder.create();
d.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(DialogInterface dialog, int keyCode,
KeyEvent keyEvent)
{
if(keyCode == KeyEvent.KEYCODE_BACK)
{
dialog.cancel();
}
return true;
}
});
d.show();
}
else if(item != null)
{
modeGridAssoc.put(currentModeIndex, item);
initModeGrid(false);
prefs.edit().putString("widgetAddedModeID" + String.valueOf(currentModeIndex), item.modeName).commit();
prefs.edit().putInt("widgetAddedModeIcon" + String.valueOf(currentModeIndex), item.modeIconID).commit();
if(modeListLayout.getVisibility() == View.VISIBLE)
modeListLayout.setVisibility(View.GONE);
}
}
});
}
private void initModeGrid(boolean bInitial)
{
modeGrid = (GridView)this.findViewById(R.id.widgetConfGrid);
modeGridViews.clear();
//allModeViews.clear();
if (modeGridAdapter.Elements != null) {
modeGridAdapter.Elements.clear();
modeGridAdapter.notifyDataSetChanged();
}
List<OpenCameraWidgetItem> hash = null;
if(bInitial)
{
hash = new ArrayList<OpenCameraWidgetItem>();
try {
ConfigParser.getInstance().parse(this.getBaseContext());
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
List<Mode> modeList = ConfigParser.getInstance().getList();
if(isFirstLaunch)
{
int modeCount = 0;
Iterator<Mode> it = modeList.iterator();
while(it.hasNext())
{
Mode tmp = it.next();
if(tmp.modeName.contains("hdr") || tmp.modeName.contains("panorama")
|| tmp.modeName.contains("single") || tmp.modeName.contains("burst")
|| tmp.modeName.contains("night") || tmp.modeName.contains("video")
|| tmp.modeName.contains("super"))
{
int iconID = this.getResources().getIdentifier(
CameraController.isUseSuperMode() ? tmp.iconHAL : tmp.icon, "drawable",
this.getPackageName());
OpenCameraWidgetItem mode = new OpenCameraWidgetItem(tmp.modeID, iconID, false);
hash.add(mode);
prefs.edit().putString("widgetAddedModeID" + String.valueOf(modeCount), tmp.modeID).commit();
prefs.edit().putInt("widgetAddedModeIcon" + String.valueOf(modeCount), iconID).commit();
modeCount++;
}
// else
// {
// OpenCameraWidgetItem mode = new OpenCameraWidgetItem("hide", 0, false);
// hash.add(mode);
// }
}
try
{
int iconID = this.getResources().getIdentifier("gui_almalence_settings_flash_torch", "drawable", this.getPackageName());
OpenCameraWidgetItem mode = new OpenCameraWidgetItem("torch", iconID, true);
hash.add(mode);
prefs.edit().putString("widgetAddedModeID" + String.valueOf(modeCount), "torch").commit();
prefs.edit().putInt("widgetAddedModeIcon" + String.valueOf(modeCount), iconID).commit();
modeCount++;
}
catch(NullPointerException exp)
{
Log.e("Widget", "Can't create TORCH mode");
}
try
{
int iconID = R.drawable.gui_almalence_settings_more_settings;
OpenCameraWidgetItem mode = new OpenCameraWidgetItem("settings", iconID, false);
hash.add(mode);
prefs.edit().putString("widgetAddedModeID" + String.valueOf(modeCount), "settings").commit();
prefs.edit().putInt("widgetAddedModeIcon" + String.valueOf(modeCount), iconID).commit();
}
catch(NullPointerException exp)
{
Log.e("Widget", "Can't create SETTINGS button");
}
for(int i = 0; i < modeList.size() - 2; i++)
{
OpenCameraWidgetItem mode = new OpenCameraWidgetItem("hide", 0, false);
hash.add(mode);
}
}
else
{
for(int i = 0; i < modeList.size() + 2; i++)
{
String modeID = prefs.getString("widgetAddedModeID" + String.valueOf(i), "hide");
int modeIcon = prefs.getInt("widgetAddedModeIcon" + String.valueOf(i), 0);
OpenCameraWidgetItem mode = new OpenCameraWidgetItem(modeID, modeIcon, modeID.contains("torch"));
hash.add(mode);
}
}
}
else
{
hash = new ArrayList<OpenCameraWidgetItem>();
Set<Integer> unsorted_keys = modeGridAssoc.keySet();
List<Integer> keys = Util.asSortedList(unsorted_keys);
Iterator<Integer> it = keys.iterator();
while(it.hasNext())
{
int gridIndex = it.next();
OpenCameraWidgetItem mode = modeGridAssoc.get(gridIndex);
hash.add(mode);
}
}
Iterator<OpenCameraWidgetItem> it = hash.iterator();
int i = 0;
while (it.hasNext())
{
final OpenCameraWidgetItem tmp = it.next();
LayoutInflater inflator = this.getLayoutInflater();
View mode = inflator.inflate(
R.layout.widget_opencamera_mode_grid_element, null,
false);
// set some mode icon
if(tmp.modeIconID != 0)
((ImageView) mode.findViewById(R.id.modeImage)).setImageResource(tmp.modeIconID);
else
((ImageView) mode.findViewById(R.id.modeImage)).setBackgroundResource(R.drawable.widget_mode_grid_button_background);
//int id = this.getResources().getIdentifier(tmp.modeName,
// "string", this.getPackageName());
//String modename = this.getResources().getString(id);
final int index = i;
//((TextView) mode.findViewById(R.id.modeText)).setText(modename);
mode.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v)
{
currentModeItem = tmp;
currentModeIndex = index;
if(modeListLayout.getVisibility() == View.GONE)
modeListLayout.setVisibility(View.VISIBLE);
}
});
modeGridViews.add(mode);
modeGridAssoc.put(i++, tmp);
//allModeViews.put(modename, mode);
}
modeGridAdapter.Elements = modeGridViews;
modeGrid.setAdapter(modeGridAdapter);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK)
{
if(modeListLayout.getVisibility() == View.VISIBLE)
{
modeListLayout.setVisibility(View.GONE);
return true;
}
}
if (super.onKeyDown(keyCode, event))
return true;
return false;
}
private boolean isInstalled(String packageName) {
PackageManager pm = getPackageManager();
boolean installed = false;
try {
pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
installed = true;
} catch (PackageManager.NameNotFoundException e) {
installed = false;
}
return installed;
}
public void CallStoreForOpenCamera(Context context)
{
try
{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.almalence.opencam"));
this.startActivityForResult(intent, 1);
//context.startActivity(intent);
}
catch(ActivityNotFoundException e)
{
return;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
Log.e("Widget", "requestCode = " + requestCode + " resultCode = " + resultCode);
}
}