List of usage examples for android.content ComponentName ComponentName
private ComponentName(String pkg, Parcel in)
From source file:com.abc.driver.TruckActivity.java
private void doCrop() { Log.d(TAG, "doCrop()"); final ArrayList<CropOption> cropOptions = new ArrayList<CropOption>(); Intent intent = new Intent("com.android.camera.action.CROP"); intent.setType("image/*"); List<ResolveInfo> list = this.getPackageManager().queryIntentActivities(intent, 0); int size = list.size(); if (size == 0) { Log.d(TAG, " Crop activity is not found. List size is zero."); Bitmap tmpBmp = BitmapFactory.decodeFile(imageUri.getPath(), null); trcukLicenseBmp = Bitmap.createScaledBitmap(tmpBmp, IMAGE_WIDTH, IMAGE_HEIGHT, false); mTLPiv.setImageBitmap(trcukLicenseBmp); isPortraitChanged = true;//from w w w . j av a 2 s . c o m Log.d(TAG, "set bitmap"); return; } else { Log.d(TAG, "found the crop activity."); intent.setData(imageUri); intent.putExtra("outputX", IMAGE_WIDTH); intent.putExtra("outputY", IMAGE_HEIGHT); intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); intent.putExtra("scale", true); intent.putExtra("return-data", true); if (size == 1) { Log.d(TAG, "Just one as choose it as crop activity."); Intent i = new Intent(intent); ResolveInfo res = list.get(0); i.setComponent(new ComponentName(res.activityInfo.packageName, res.activityInfo.name)); startActivityForResult(i, CellSiteConstants.CROP_PICTURE); } else { Log.d(TAG, "More that one activity for crop is found . will chooose one"); for (ResolveInfo res : list) { final CropOption co = new CropOption(); co.title = getPackageManager().getApplicationLabel(res.activityInfo.applicationInfo); co.icon = getPackageManager().getApplicationIcon(res.activityInfo.applicationInfo); co.appIntent = new Intent(intent); co.appIntent .setComponent(new ComponentName(res.activityInfo.packageName, res.activityInfo.name)); cropOptions.add(co); } CropOptionAdapter adapter = new CropOptionAdapter(getApplicationContext(), cropOptions); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Choose Crop App"); builder.setAdapter(adapter, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { startActivityForResult(cropOptions.get(item).appIntent, CellSiteConstants.CROP_PICTURE); } }); builder.setOnCancelListener(new DialogInterface.OnCancelListener() { // @Override public void onCancel(DialogInterface dialog) { if (imageUri != null) { getContentResolver().delete(imageUri, null, null); imageUri = null; isPortraitChanged = false; } } }); AlertDialog alert = builder.create(); alert.show(); } } }
From source file:com.dmbstream.android.util.Util.java
public static void unregisterMediaButtonEventReceiver(Context context) { // AudioManager.unregisterMediaButtonEventReceiver() was introduced in Android 2.2. // Use reflection to maintain compatibility with 1.5. try {/* w w w . jav a2s .com*/ AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); ComponentName componentName = new ComponentName(context.getPackageName(), MediaButtonIntentReceiver.class.getName()); Method method = AudioManager.class.getMethod("unregisterMediaButtonEventReceiver", ComponentName.class); method.invoke(audioManager, componentName); } catch (Throwable x) { // Ignored. } }
From source file:es.javocsoft.android.lib.toolbox.ToolBox.java
private static void application_activityStatusSwitch(Context context, Class appClass, int status) { ComponentName component = new ComponentName(appClass.getPackage().getName(), appClass.getName()); if (status == PackageManager.COMPONENT_ENABLED_STATE_DISABLED && (context.getPackageManager() .getComponentEnabledSetting(component) == PackageManager.COMPONENT_ENABLED_STATE_ENABLED || context.getPackageManager() .getComponentEnabledSetting(component) == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT)) { context.getPackageManager().setComponentEnabledSetting(component, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); } else if (status == PackageManager.COMPONENT_ENABLED_STATE_ENABLED && (context.getPackageManager() .getComponentEnabledSetting(component) == PackageManager.COMPONENT_ENABLED_STATE_DISABLED || context.getPackageManager() .getComponentEnabledSetting(component) == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT)) { context.getPackageManager().setComponentEnabledSetting(component, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); }/*w w w . jav a 2s . c o m*/ }
From source file:com.android.launcher3.Launcher.java
@Override protected void onCreate(Bundle savedInstanceState) { if (DEBUG_STRICT_MODE) { StrictMode.setThreadPolicy(//w ww .j a v a 2 s . com new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork() // or .detectAll() for all detectable problems .penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects() .detectLeakedClosableObjects().penaltyLog().penaltyDeath().build()); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { if (LauncherAppState.PROFILE_STARTUP) { Trace.beginSection("Launcher-onCreate"); } } predictiveAppsProvider = new PredictiveAppsProvider(this); if (mLauncherCallbacks != null) { mLauncherCallbacks.preOnCreate(); } super.onCreate(savedInstanceState); app = LauncherAppState.getInstance(); // Load configuration-specific DeviceProfile mDeviceProfile = getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE ? app.getInvariantDeviceProfile().landscapeProfile : app.getInvariantDeviceProfile().portraitProfile; mSharedPrefs = Utilities.getPrefs(this); mIsSafeModeEnabled = getPackageManager().isSafeMode(); mModel = app.setLauncher(this); mIconCache = app.getIconCache(); mAccessibilityDelegate = new LauncherAccessibilityDelegate(this); mDragController = new DragController(this); mAllAppsController = new AllAppsTransitionController(this); mStateTransitionAnimation = new LauncherStateTransitionAnimation(this, mAllAppsController); mAppWidgetManager = AppWidgetManagerCompat.getInstance(this); mAppWidgetHost = new LauncherAppWidgetHost(this, APPWIDGET_HOST_ID); mAppWidgetHost.startListening(); // If we are getting an onCreate, we can actually preempt onResume and unset mPaused here, // this also ensures that any synchronous binding below doesn't re-trigger another // LauncherModel load. mPaused = false; setContentView(R.layout.launcher); //Shortcuts variable init masterLayout = (InsettableFrameLayout) findViewById(R.id.launcher); gridSize = new GridSize((int) app.getInvariantDeviceProfile().numColumns, (int) app.getInvariantDeviceProfile().numRows); IS_ALLOW_MIC = Utilities.isAllowVoiceInSearchBarPrefEnabled(getApplicationContext()); setupViews(); mDeviceProfile.layout(this, false /* notifyListeners */); mExtractedColors = new ExtractedColors(); loadExtractedColorsAndColorItems(); ((AccessibilityManager) getSystemService(ACCESSIBILITY_SERVICE)).addAccessibilityStateChangeListener(this); lockAllApps(); mSavedState = savedInstanceState; restoreState(mSavedState); if (LauncherAppState.PROFILE_STARTUP) { Trace.endSection(); } // We only load the page synchronously if the user rotates (or triggers a // configuration change) while launcher is in the foreground if (!mModel.startLoader(mWorkspace.getRestorePage())) { // If we are not binding synchronously, show a fade in animation when // the first page bind completes. mDragLayer.setAlpha(0); } else { setWorkspaceLoading(true); } // For handling default keys mDefaultKeySsb = new SpannableStringBuilder(); Selection.setSelection(mDefaultKeySsb, 0); IntentFilter filter = new IntentFilter(ACTION_APPWIDGET_HOST_RESET); registerReceiver(mUiBroadcastReceiver, filter); mRotationEnabled = getResources().getBoolean(R.bool.allow_rotation); // In case we are on a device with locked rotation, we should look at preferences to check // if the user has specifically allowed rotation. if (!mRotationEnabled) { mRotationEnabled = Utilities.isAllowRotationPrefEnabled(getApplicationContext()); mRotationPrefChangeHandler = new RotationPrefChangeHandler(); mSharedPrefs.registerOnSharedPreferenceChangeListener(mRotationPrefChangeHandler); } // On large interfaces, or on devices that a user has specifically enabled screen rotation, // we want the screen to auto-rotate based on the current orientation setOrientation(); if (mLauncherCallbacks != null) { mLauncherCallbacks.onCreate(savedInstanceState); } activity = this; /*if (!isTaskRoot()) { finish(); return; }*/ adminComponent = new ComponentName(Launcher.this, DarClass.class); devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); appHasFingerprint = Utilities.getAppHasFingerprint(getApplicationContext()); appHasPassword = Utilities.getAppHasPassword(getApplicationContext()); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { fingerprintManager = (FingerprintManager) getSystemService(FINGERPRINT_SERVICE); } icons = Utilities.getIconPack(Utilities.getAppIconPackageNamePrefEnabled(getApplicationContext())); if (icons == null || icons.isEmpty() || icons.size() == 0) { if (Utilities.getAppIconPackageNamePrefEnabled(getApplicationContext()) != null && !Utilities .getAppIconPackageNamePrefEnabled(getApplicationContext()).equalsIgnoreCase("NULL")) { Utilities.answerToRestoreIconPack(this, Utilities.getAppIconPackageNamePrefEnabled(getApplicationContext())); } } if (FirstRun.isFirstLaunch(getApplicationContext())) { WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext()); try { myWallpaperManager.setResource(R.drawable.wallpaper); } catch (IOException e) { e.printStackTrace(); } } if (Utilities.doCheckPROVersion(getApplicationContext())) { } mDefaultScreenId = Utilities.getLongCustomDefault(this, Utilities.SETTINGS_UI_HOMESCREEN_DEFAULT_SCREEN_ID, 1); }
From source file:com.irccloud.android.Notifications.java
@SuppressLint("NewApi") private android.app.Notification buildNotification(String ticker, int bid, long[] eids, String title, String text, Spanned big_text, int count, Intent replyIntent, Spanned wear_text, String network, String auto_messages[]) { SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(IRCCloudApplication.getInstance().getApplicationContext()); NotificationCompat.Builder builder = new NotificationCompat.Builder( IRCCloudApplication.getInstance().getApplicationContext()) .setContentTitle(title + ((network != null) ? (" (" + network + ")") : "")) .setContentText(Html.fromHtml(text)).setAutoCancel(true).setTicker(ticker) .setWhen(eids[0] / 1000).setSmallIcon(R.drawable.ic_stat_notify) .setColor(IRCCloudApplication.getInstance().getApplicationContext().getResources() .getColor(R.color.dark_blue)) .setVisibility(NotificationCompat.VISIBILITY_PRIVATE) .setCategory(NotificationCompat.CATEGORY_MESSAGE) .setPriority(NotificationCompat.PRIORITY_HIGH).setOnlyAlertOnce(false); if (ticker != null && (System.currentTimeMillis() - prefs.getLong("lastNotificationTime", 0)) > 10000) { if (prefs.getBoolean("notify_vibrate", true)) builder.setDefaults(android.app.Notification.DEFAULT_VIBRATE); String ringtone = prefs.getString("notify_ringtone", "content://settings/system/notification_sound"); if (ringtone != null && ringtone.length() > 0) builder.setSound(Uri.parse(ringtone)); }/* ww w.j a v a 2s . c o m*/ int led_color = Integer.parseInt(prefs.getString("notify_led_color", "1")); if (led_color == 1) { if (prefs.getBoolean("notify_vibrate", true)) builder.setDefaults( android.app.Notification.DEFAULT_LIGHTS | android.app.Notification.DEFAULT_VIBRATE); else builder.setDefaults(android.app.Notification.DEFAULT_LIGHTS); } else if (led_color == 2) { builder.setLights(0xFF0000FF, 500, 500); } SharedPreferences.Editor editor = prefs.edit(); editor.putLong("lastNotificationTime", System.currentTimeMillis()); editor.commit(); Intent i = new Intent(); i.setComponent(new ComponentName(IRCCloudApplication.getInstance().getApplicationContext().getPackageName(), "com.irccloud.android.MainActivity")); i.putExtra("bid", bid); i.setData(Uri.parse("bid://" + bid)); Intent dismiss = new Intent(IRCCloudApplication.getInstance().getApplicationContext().getResources() .getString(R.string.DISMISS_NOTIFICATION)); dismiss.setData(Uri.parse("irccloud-dismiss://" + bid)); dismiss.putExtra("bid", bid); dismiss.putExtra("eids", eids); PendingIntent dismissPendingIntent = PendingIntent.getBroadcast( IRCCloudApplication.getInstance().getApplicationContext(), 0, dismiss, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent( PendingIntent.getActivity(IRCCloudApplication.getInstance().getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT)); builder.setDeleteIntent(dismissPendingIntent); if (replyIntent != null) { WearableExtender extender = new WearableExtender(); PendingIntent replyPendingIntent = PendingIntent.getService( IRCCloudApplication.getInstance().getApplicationContext(), bid + 1, replyIntent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT); extender.addAction( new NotificationCompat.Action.Builder(R.drawable.ic_reply, "Reply", replyPendingIntent) .addRemoteInput( new RemoteInput.Builder("extra_reply").setLabel("Reply to " + title).build()) .build()); if (count > 1 && wear_text != null) extender.addPage( new NotificationCompat.Builder(IRCCloudApplication.getInstance().getApplicationContext()) .setContentText(wear_text).extend(new WearableExtender().setStartScrollBottom(true)) .build()); NotificationCompat.CarExtender.UnreadConversation.Builder unreadConvBuilder = new NotificationCompat.CarExtender.UnreadConversation.Builder( title + ((network != null) ? (" (" + network + ")") : "")) .setReadPendingIntent(dismissPendingIntent).setReplyAction(replyPendingIntent, new RemoteInput.Builder("extra_reply").setLabel("Reply to " + title).build()); if (auto_messages != null) { for (String m : auto_messages) { if (m != null && m.length() > 0) { unreadConvBuilder.addMessage(m); } } } else { unreadConvBuilder.addMessage(text); } unreadConvBuilder.setLatestTimestamp(eids[count - 1] / 1000); builder.extend(extender) .extend(new NotificationCompat.CarExtender().setUnreadConversation(unreadConvBuilder.build())); } if (replyIntent != null && prefs.getBoolean("notify_quickreply", true)) { i = new Intent(IRCCloudApplication.getInstance().getApplicationContext(), QuickReplyActivity.class); i.setData(Uri.parse("irccloud-bid://" + bid)); i.putExtras(replyIntent); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent quickReplyIntent = PendingIntent.getActivity( IRCCloudApplication.getInstance().getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT); builder.addAction(R.drawable.ic_action_reply, "Quick Reply", quickReplyIntent); } android.app.Notification notification = builder.build(); RemoteViews contentView = new RemoteViews( IRCCloudApplication.getInstance().getApplicationContext().getPackageName(), R.layout.notification); contentView.setTextViewText(R.id.title, title + " (" + network + ")"); contentView.setTextViewText(R.id.text, (count == 1) ? Html.fromHtml(text) : (count + " unread highlights.")); contentView.setLong(R.id.time, "setTime", eids[0] / 1000); notification.contentView = contentView; if (Build.VERSION.SDK_INT >= 16 && big_text != null) { RemoteViews bigContentView = new RemoteViews( IRCCloudApplication.getInstance().getApplicationContext().getPackageName(), R.layout.notification_expanded); bigContentView.setTextViewText(R.id.title, title + (!title.equals(network) ? (" (" + network + ")") : "")); bigContentView.setTextViewText(R.id.text, big_text); bigContentView.setLong(R.id.time, "setTime", eids[0] / 1000); if (count > 3) { bigContentView.setViewVisibility(R.id.more, View.VISIBLE); bigContentView.setTextViewText(R.id.more, "+" + (count - 3) + " more"); } else { bigContentView.setViewVisibility(R.id.more, View.GONE); } if (replyIntent != null && prefs.getBoolean("notify_quickreply", true)) { bigContentView.setViewVisibility(R.id.actions, View.VISIBLE); bigContentView.setViewVisibility(R.id.action_divider, View.VISIBLE); i = new Intent(IRCCloudApplication.getInstance().getApplicationContext(), QuickReplyActivity.class); i.setData(Uri.parse("irccloud-bid://" + bid)); i.putExtras(replyIntent); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent quickReplyIntent = PendingIntent.getActivity( IRCCloudApplication.getInstance().getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT); bigContentView.setOnClickPendingIntent(R.id.action_reply, quickReplyIntent); } notification.bigContentView = bigContentView; } return notification; }
From source file:com.android.settings.HWSettings.java
/** * Switch to parent fragment and store the grand parent's info * @param className name of the activity wrapper for the parent fragment. *//* w ww .j av a 2 s . co m*/ private void switchToParent(String className) { final ComponentName cn = new ComponentName(this, className); try { final PackageManager pm = getPackageManager(); final ActivityInfo parentInfo = pm.getActivityInfo(cn, PackageManager.GET_META_DATA); if (parentInfo != null && parentInfo.metaData != null) { String fragmentClass = parentInfo.metaData.getString(META_DATA_KEY_FRAGMENT_CLASS); CharSequence fragmentTitle = parentInfo.loadLabel(pm); Header parentHeader = new Header(); parentHeader.fragment = fragmentClass; parentHeader.title = fragmentTitle; mCurrentHeader = parentHeader; switchToHeaderLocal(parentHeader); highlightHeader(mTopLevelHeaderId); mParentHeader = new Header(); mParentHeader.fragment = parentInfo.metaData.getString(META_DATA_KEY_PARENT_FRAGMENT_CLASS); mParentHeader.title = parentInfo.metaData.getString(META_DATA_KEY_PARENT_TITLE); } } catch (NameNotFoundException nnfe) { Log.w(LOG_TAG, "Could not find parent activity : " + className); } }
From source file:com.wso2.mobile.mdm.services.Operation.java
@SuppressWarnings("static-access") @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) public void doTask(String code_in, String data_in, int req_mode) { String code_input = code_in;/*from w w w .j a v a 2 s. co m*/ String data_input = data_in; String notification = ""; String ssid = ""; String password = ""; devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); appList = new ApplicationManager(context); deviceInfo = new DeviceInfo(context); gps = new GPSTracker(context); smsManager = SmsManager.getDefault(); conversations = new TrackCallSMS(context); deviceState = new PhoneState(context); if (code_input.equals(CommonUtilities.OPERATION_DEVICE_INFO)) { PhoneState phoneState = new PhoneState(context); JSONObject obj = new JSONObject(); JSONObject battery_obj = new JSONObject(); JSONObject inmemory_obj = new JSONObject(); JSONObject exmemory_obj = new JSONObject(); JSONObject location_obj = new JSONObject(); double latitude = 0; double longitude = 0; try { latitude = gps.getLatitude(); longitude = gps.getLongitude(); int batteryLevel = (int) Math.floor(phoneState.getBatteryLevel()); battery_obj.put("level", batteryLevel); inmemory_obj.put("total", deviceInfo.getTotalInternalMemorySize()); inmemory_obj.put("available", deviceInfo.getAvailableInternalMemorySize()); exmemory_obj.put("total", deviceInfo.getTotalExternalMemorySize()); exmemory_obj.put("available", deviceInfo.getAvailableExternalMemorySize()); location_obj.put("latitude", latitude); location_obj.put("longitude", longitude); obj.put("battery", battery_obj); obj.put("internal_memory", inmemory_obj); obj.put("external_memory", exmemory_obj); obj.put("location_obj", location_obj); obj.put("operator", deviceInfo.getNetworkOperatorName()); Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); params.put("status", "200"); params.put("data", obj.toString()); Map<String, String> as = new HashMap<String, String>(); as.put("all", params.toString()); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Battery Level : " + phoneState.getBatteryLevel() + ", Total Memory : " + deviceInfo.formatSizeGB(deviceInfo.getTotalInternalMemorySize() + deviceInfo.getTotalExternalMemorySize()) + ", Available Memory : " + deviceInfo.formatSizeGB(deviceInfo.getAvailableInternalMemorySize() + deviceInfo.getAvailableExternalMemorySize()), null, null); } } catch (JSONException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_DEVICE_LOCATION)) { LocationServices ls = new LocationServices(context); Log.v("Latitude", ls.getLatitude()); double latitude = 0; double longitude = 0; JSONObject obj = new JSONObject(); try { latitude = gps.getLatitude(); longitude = gps.getLongitude(); obj.put("latitude", latitude); obj.put("longitude", longitude); Map<String, String> params = new HashMap<String, String>(); params.put("code", CommonUtilities.OPERATION_DEVICE_LOCATION); params.put("msgID", token); params.put("status", "200"); params.put("data", obj.toString()); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Longitude : " + longitude + ",Latitude : " + latitude, null, null); } } catch (JSONException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_GET_APPLICATION_LIST)) { ArrayList<PInfo> apps = appList.getInstalledApps(false); /* * false = * no system * packages */ JSONArray jsonArray = new JSONArray(); int max = apps.size(); String apz = ""; Log.e("APP TOTAL : ", "" + max); for (int i = 0; i < max; i++) { JSONObject jsonObj = new JSONObject(); try { jsonObj.put("name", apps.get(i).appname); jsonObj.put("package", apps.get(i).pname); jsonObj.put("icon", apps.get(i).icon); apz += apps.get(i).appname + " ,"; } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } jsonArray.put(jsonObj); } JSONObject appsObj = new JSONObject(); try { appsObj.put("apps", jsonArray); Map<String, String> params = new HashMap<String, String>(); params.put("code", CommonUtilities.OPERATION_GET_APPLICATION_LIST); params.put("msgID", token); params.put("status", "200"); params.put("data", Uri.encode(jsonArray.toString())); Log.e("PASSING MSG ID : ", token); Log.e("PASSING CODE : ", code_input); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, apz, null, null); } } catch (JSONException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_LOCK_DEVICE)) { Log.d(TAG, "Locking device now"); try { Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); params.put("status", "200"); if (req_mode == REQUEST_MODE_NORMAL) { if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Device Locked Successfully", null, null); } } else { if (policy_count != 0) { policy_count++; } bundle_params.put("" + policy_count, params.toString()); } devicePolicyManager.lockNow(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_WIPE_DATA)) { Log.d(TAG, "RESETing device now - all user data will be ERASED to factory settings"); String pin = null; SharedPreferences mainPref = context.getSharedPreferences("com.mdm", Context.MODE_PRIVATE); String pinSaved = mainPref.getString("pin", ""); try { JSONObject jobj = new JSONObject(data_input); pin = (String) jobj.get("pin"); Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); if (pin.trim().equals(pinSaved.trim())) { params.put("status", "200"); } else { params.put("status", "400"); } if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { if (pin.trim().equals(pinSaved.trim())) { smsManager.sendTextMessage(recepient, null, "Device Wiped Successfully", null, null); } else { smsManager.sendTextMessage(recepient, null, "Wrong PIN", null, null); } } if (pin.trim().equals(pinSaved.trim())) { Toast.makeText(context, "Device is being wiped", Toast.LENGTH_LONG).show(); startUnRegistration(context); try { Thread.sleep(4000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } devicePolicyManager.wipeData(ACTIVATION_REQUEST); } else { Toast.makeText(context, "Device wipe failed due to wrong PIN", Toast.LENGTH_LONG).show(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_CLEAR_PASSWORD)) { ComponentName demoDeviceAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class); try { Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); params.put("status", "200"); if (req_mode == REQUEST_MODE_NORMAL) { if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Lock code cleared Successfully", null, null); } } else { if (policy_count != 0) { policy_count++; } bundle_params.put("" + policy_count, params.toString()); } devicePolicyManager.setPasswordQuality(demoDeviceAdmin, DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED); devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, 0); devicePolicyManager.resetPassword("", DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY); devicePolicyManager.lockNow(); devicePolicyManager.setPasswordQuality(demoDeviceAdmin, DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_NOTIFICATION)) { JSONParser jp = new JSONParser(); try { JSONObject jobj = new JSONObject(data_input); if (jobj.get("notification").toString() != null || jobj.get("notification").toString().equals("")) { notification = jobj.get("notification").toString(); } else if (jobj.get("Notification").toString() != null || jobj.get("Notification").toString().equals("")) { notification = jobj.get("Notification").toString(); } else { notification = ""; } Log.v("Notification", notification); Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); params.put("status", "200"); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Notification Receieved Successfully", null, null); } Intent intent = new Intent(context, AlertActivity.class); intent.putExtra("message", notification); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_WIFI)) { boolean wifistatus = false; JSONParser jp = new JSONParser(); try { JSONObject jobj = new JSONObject(data_input); if (!jobj.isNull("ssid")) { ssid = (String) jobj.get("ssid"); } if (!jobj.isNull("password")) { password = (String) jobj.get("password"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } Map<String, String> inparams = new HashMap<String, String>(); inparams.put("code", code_input); inparams.put("msgID", token); WiFiConfig config = new WiFiConfig(context); try { wifistatus = config.saveWEPConfig(ssid, password); if (wifistatus) { inparams.put("status", "200"); } else { inparams.put("status", "400"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (req_mode == REQUEST_MODE_NORMAL) { if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(inparams, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "WiFi Configured Successfully", null, null); } } else { if (policy_count != 0) { policy_count++; } bundle_params.put("" + policy_count, inparams.toString()); } } } else if (code_input.equals(CommonUtilities.OPERATION_DISABLE_CAMERA)) { boolean camFunc = false; JSONParser jp = new JSONParser(); try { JSONObject jobj = new JSONObject(data_input); if (!jobj.isNull("function") && jobj.get("function").toString().equalsIgnoreCase("enable")) { camFunc = false; } else if (!jobj.isNull("function") && jobj.get("function").toString().equalsIgnoreCase("disable")) { camFunc = true; } else if (!jobj.isNull("function")) { camFunc = Boolean.parseBoolean(jobj.get("function").toString()); } ComponentName cameraAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class); Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); params.put("status", "200"); String cammode = "Disabled"; if (camFunc) { cammode = "Disabled"; } else { cammode = "Enabled"; } if (req_mode == REQUEST_MODE_NORMAL) { if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Camera " + cammode + " Successfully", null, null); } } else { if (policy_count != 0) { policy_count++; } bundle_params.put("" + policy_count, params.toString()); } if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { devicePolicyManager.setCameraDisabled(cameraAdmin, camFunc); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION) || code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION_BUNDLE)) { try { if (code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION)) { JSONObject jobj = new JSONObject(data_input); installApplication(jobj, code_input); } else if (code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION_BUNDLE)) { JSONArray jArray = null; jArray = new JSONArray(data_input); for (int i = 0; i < jArray.length(); i++) { JSONObject appObj = (JSONObject) jArray.getJSONObject(i); installApplication(appObj, code_input); } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_UNINSTALL_APPLICATION)) { String packageName = ""; JSONParser jp = new JSONParser(); try { JSONObject jobj = new JSONObject(data_input); packageName = (String) jobj.get("identity"); Log.v("Package Name : ", packageName); Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); params.put("status", "200"); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Application uninstalled Successfully", null, null); } appList.unInstallApplication(packageName); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_ENCRYPT_STORAGE)) { boolean encryptFunc = true; String pass = ""; JSONParser jp = new JSONParser(); try { JSONObject jobj = new JSONObject(data_input); if (!jobj.isNull("function") && jobj.get("function").toString().equalsIgnoreCase("encrypt")) { encryptFunc = true; } else if (!jobj.isNull("function") && jobj.get("function").toString().equalsIgnoreCase("decrypt")) { encryptFunc = false; } else if (!jobj.isNull("function")) { encryptFunc = Boolean.parseBoolean(jobj.get("function").toString()); } ComponentName admin = new ComponentName(context, WSO2DeviceAdminReceiver.class); Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); if (encryptFunc && devicePolicyManager .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) { if (devicePolicyManager .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_INACTIVE) { if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { devicePolicyManager.setStorageEncryption(admin, encryptFunc); Intent intent = new Intent(DevicePolicyManager.ACTION_START_ENCRYPTION); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); } } } else if (!encryptFunc && devicePolicyManager .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) { if (devicePolicyManager .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVE || devicePolicyManager .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVATING) { if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { devicePolicyManager.setStorageEncryption(admin, encryptFunc); } } } if (devicePolicyManager .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) { params.put("status", "200"); } else { params.put("status", "400"); } if (req_mode == REQUEST_MODE_NORMAL) { if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Storage Encrypted Successfully", null, null); } } else { if (policy_count != 0) { policy_count++; } bundle_params.put("" + policy_count, params.toString()); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_MUTE)) { Log.d(TAG, "Muting Device"); try { Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); params.put("status", "200"); if (req_mode == REQUEST_MODE_NORMAL) { if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Device Muted Successfully", null, null); } } else { if (policy_count != 0) { policy_count++; } bundle_params.put("" + policy_count, params.toString()); } muteDevice(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_TRACK_CALLS)) { try { Map<String, String> params = new HashMap<String, String>(); params.put("code", CommonUtilities.OPERATION_TRACK_CALLS); params.put("msgID", token); params.put("status", "200"); params.put("data", conversations.getCallDetails().toString()); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, conversations.getCallDetails().toString(), null, null); } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_TRACK_SMS)) { int MESSAGE_TYPE_INBOX = 1; int MESSAGE_TYPE_SENT = 2; JSONObject smsObj = new JSONObject(); try { smsObj.put("inbox", conversations.getSMS(MESSAGE_TYPE_INBOX)); smsObj.put("sent", conversations.getSMS(MESSAGE_TYPE_SENT)); Map<String, String> params = new HashMap<String, String>(); params.put("code", CommonUtilities.OPERATION_TRACK_SMS); params.put("msgID", token); params.put("status", "200"); params.put("data", smsObj.toString()); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, smsObj.toString(), null, null); } } catch (JSONException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_DATA_USAGE)) { JSONObject dataObj = new JSONObject(); try { Map<String, String> params = new HashMap<String, String>(); params.put("code", CommonUtilities.OPERATION_DATA_USAGE); params.put("msgID", token); params.put("status", "200"); params.put("data", deviceState.takeDataUsageSnapShot().toString()); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, dataObj.toString(), null, null); } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_STATUS)) { boolean encryptStatus = false; boolean passCodeStatus = false; try { if (devicePolicyManager .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) { if (devicePolicyManager .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVE || devicePolicyManager .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVATING) { encryptStatus = true; } else { encryptStatus = false; } } if (devicePolicyManager.isActivePasswordSufficient()) { passCodeStatus = true; } else { passCodeStatus = false; } } catch (Exception ex) { ex.printStackTrace(); passCodeStatus = false; } JSONObject dataObj = new JSONObject(); try { dataObj.put("encryption", encryptStatus); dataObj.put("passcode", passCodeStatus); Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); params.put("status", "200"); params.put("data", dataObj.toString()); if (req_mode == REQUEST_MODE_NORMAL) { if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, dataObj.toString(), null, null); } } else { if (policy_count != 0) { policy_count++; } bundle_params.put("" + policy_count, params.toString()); } } catch (JSONException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_WEBCLIP)) { String appUrl = ""; String title = ""; JSONParser jp = new JSONParser(); try { JSONObject jobj = new JSONObject(data_input); Log.v("WEBCLIP DATA : ", data.toString()); appUrl = (String) jobj.get("identity"); title = (String) jobj.get("title"); Log.v("Web App URL : ", appUrl); Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); params.put("status", "200"); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "WebClip created Successfully", null, null); } appList.createWebAppBookmark(appUrl, title); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_PASSWORD_POLICY)) { ComponentName demoDeviceAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class); int attempts, length, history, specialChars; String alphanumeric, complex; boolean b_alphanumeric, b_complex; long timout; Map<String, String> inparams = new HashMap<String, String>(); JSONParser jp = new JSONParser(); try { JSONObject jobj = new JSONObject(data_input); if (!jobj.isNull("maxFailedAttempts") && jobj.get("maxFailedAttempts") != null) { attempts = Integer.parseInt((String) jobj.get("maxFailedAttempts")); devicePolicyManager.setMaximumFailedPasswordsForWipe(demoDeviceAdmin, attempts); } if (!jobj.isNull("minLength") && jobj.get("minLength") != null) { length = Integer.parseInt((String) jobj.get("minLength")); devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, length); } if (!jobj.isNull("pinHistory") && jobj.get("pinHistory") != null) { history = Integer.parseInt((String) jobj.get("pinHistory")); devicePolicyManager.setPasswordHistoryLength(demoDeviceAdmin, history); } if (!jobj.isNull("minComplexChars") && jobj.get("minComplexChars") != null) { specialChars = Integer.parseInt((String) jobj.get("minComplexChars")); devicePolicyManager.setPasswordMinimumSymbols(demoDeviceAdmin, specialChars); } if (!jobj.isNull("requireAlphanumeric") && jobj.get("requireAlphanumeric") != null) { if (jobj.get("requireAlphanumeric") instanceof String) { alphanumeric = (String) jobj.get("requireAlphanumeric"); if (alphanumeric.equals("true")) { devicePolicyManager.setPasswordQuality(demoDeviceAdmin, DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC); } } else if (jobj.get("requireAlphanumeric") instanceof Boolean) { b_alphanumeric = jobj.getBoolean("requireAlphanumeric"); if (b_alphanumeric) { devicePolicyManager.setPasswordQuality(demoDeviceAdmin, DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC); } } } if (!jobj.isNull("allowSimple") && jobj.get("allowSimple") != null) { if (jobj.get("allowSimple") instanceof String) { complex = (String) jobj.get("allowSimple"); if (!complex.equals("true")) { devicePolicyManager.setPasswordQuality(demoDeviceAdmin, DevicePolicyManager.PASSWORD_QUALITY_COMPLEX); } } else if (jobj.get("allowSimple") instanceof Boolean) { b_complex = jobj.getBoolean("allowSimple"); if (!b_complex) { devicePolicyManager.setPasswordQuality(demoDeviceAdmin, DevicePolicyManager.PASSWORD_QUALITY_COMPLEX); } } } if (!jobj.isNull("maxPINAgeInDays") && jobj.get("maxPINAgeInDays") != null) { int daysOfExp = Integer.parseInt((String) jobj.get("maxPINAgeInDays")); timout = (long) (daysOfExp * 24 * 60 * 60 * 1000); devicePolicyManager.setPasswordExpirationTimeout(demoDeviceAdmin, timout); } SharedPreferences mainPref = context.getSharedPreferences("com.mdm", Context.MODE_PRIVATE); String policy = mainPref.getString("policy", ""); inparams.put("code", code_input); inparams.put("msgID", token); inparams.put("status", "200"); } catch (Exception e) { // TODO Auto-generated catch block params.put("status", "400"); e.printStackTrace(); } finally { try { if (req_mode == REQUEST_MODE_NORMAL) { if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(inparams, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Password Policies Successfully Set", null, null); } } else { if (policy_count != 0) { policy_count++; } bundle_params.put("" + policy_count, inparams.toString()); } } catch (Exception ex) { ex.printStackTrace(); } } } else if (code_input.equals(CommonUtilities.OPERATION_EMAIL_CONFIGURATION)) { String emailname = "", emailtype = "", ic_username = "", ic_password = "", ic_hostname = ""; long timout; Map<String, String> inparams = new HashMap<String, String>(); JSONParser jp = new JSONParser(); try { JSONObject jobj = new JSONObject(data_input); if (!jobj.isNull("type") && jobj.get("type") != null) { emailtype = (String) jobj.get("type"); } if (!jobj.isNull("displayname") && jobj.get("displayname") != null) { emailname = (String) jobj.get("displayname"); } if (!jobj.isNull("username") && jobj.get("username") != null) { ic_username = (String) jobj.get("username"); } if (!jobj.isNull("password") && jobj.get("password") != null) { ic_password = (String) jobj.get("password"); } if (emailtype.trim().equals("GMAIL")) { ic_hostname = "imap.googlemail.com"; } else if (emailtype.equals("YAHOO")) { ic_hostname = ""; } else if (emailtype.equals("HOTMAIL")) { ic_hostname = ""; } inparams.put("code", code_input); inparams.put("msgID", token); inparams.put("status", "200"); } catch (Exception e) { // TODO Auto-generated catch block params.put("status", "400"); e.printStackTrace(); } finally { try { if (req_mode == REQUEST_MODE_NORMAL) { if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(inparams, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Email Configured Successfully Set", null, null); } } else { if (policy_count != 0) { policy_count++; } bundle_params.put("" + policy_count, inparams.toString()); } } catch (Exception ex) { ex.printStackTrace(); } } } else if (code_input.equals(CommonUtilities.OPERATION_INSTALL_GOOGLE_APP)) { String packageName = ""; JSONParser jp = new JSONParser(); try { JSONObject jobj = new JSONObject(data_input); packageName = (String) jobj.get("package"); Log.v("Package Name : ", packageName); Map<String, String> params = new HashMap<String, String>(); params.put("code", code_input); params.put("msgID", token); params.put("status", "200"); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Application installed Successfully", null, null); } Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setData(Uri.parse("market://details?id=" + packageName)); context.startActivity(intent); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_CHANGE_LOCK_CODE)) { ComponentName demoDeviceAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class); devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, 3); String pass = ""; Map<String, String> inparams = new HashMap<String, String>(); JSONParser jp = new JSONParser(); try { JSONObject jobj = new JSONObject(data_input); if (!jobj.isNull("password")) { pass = (String) jobj.get("password"); } inparams.put("code", code_input); inparams.put("msgID", token); inparams.put("status", "200"); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(inparams, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Lock code changed Successfully", null, null); } if (!pass.equals("")) { devicePolicyManager.resetPassword(pass, DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY); devicePolicyManager.lockNow(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if (req_mode == REQUEST_MODE_NORMAL) { if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(inparams, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Lock code changed Successfully", null, null); } } else { if (policy_count != 0) { policy_count++; } bundle_params.put("" + policy_count, inparams.toString()); } } catch (Exception ex) { ex.printStackTrace(); } } } else if (code_input.equals(CommonUtilities.OPERATION_POLICY_BUNDLE)) { Map<String, String> params = new HashMap<String, String>(); try { params.put("code", code); params.put("msgID", policy_token); params.put("status", "200"); params.put("data", bundle_params.toString()); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Bundle Executed Successfully", null, null); } } catch (Exception ex) { ex.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_POLICY_MONITOR)) { JSONArray sendjArray; try { JSONObject jobj = new JSONObject(this.data); sendjArray = jobj.getJSONArray("policies"); int type = Integer.parseInt((String) jobj.get("type").toString().trim()); if (type != 1 && type != 2 && type != 3) { type = 1; } Log.e("PASSING MSG ID : ", policy_token); Log.e("PASSING CODE : ", code_input); Log.e("PASSING TYPE : ", String.valueOf(type)); PolicyTester tester = new PolicyTester(context, sendjArray, type, policy_token); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_POLICY_REVOKE)) { try { Map<String, String> inparams = new HashMap<String, String>(); inparams.put("code", code_input); inparams.put("msgID", token); inparams.put("status", "200"); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(inparams, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, "Lock code changed Successfully", null, null); } revokePolicy(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if (code_input.equals(CommonUtilities.OPERATION_BLACKLIST_APPS)) { ArrayList<PInfo> apps = appList.getInstalledApps(false); /* * false = * no system * packages */ JSONArray jsonArray = new JSONArray(); int max = apps.size(); if (max > 10) { //max = 10; } String apz = ""; try { JSONObject appsObj = new JSONObject(data_input); JSONObject appObj = (JSONObject) appsObj.get("data"); String identity = (String) appObj.get("identity"); for (int j = 0; j < max; j++) { JSONObject jsonObj = new JSONObject(); try { jsonObj.put("name", apps.get(j).appname); jsonObj.put("package", apps.get(j).pname); if (identity.trim().equals(apps.get(j).pname)) { jsonObj.put("notviolated", false); jsonObj.put("package", apps.get(j).pname); } else { jsonObj.put("notviolated", true); } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } jsonArray.put(jsonObj); } } catch (Exception ex) { ex.printStackTrace(); } JSONObject appsObj = new JSONObject(); try { appsObj.put("apps", jsonArray); Map<String, String> params = new HashMap<String, String>(); params.put("code", CommonUtilities.OPERATION_GET_APPLICATION_LIST); params.put("msgID", token); params.put("status", "200"); params.put("data", jsonArray.toString()); if (mode == CommonUtilities.MESSAGE_MODE_GCM) { ServerUtilities.pushData(params, context); } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) { smsManager.sendTextMessage(recepient, null, apz, null, null); } SharedPreferences mainPref = context.getSharedPreferences("com.mdm", Context.MODE_PRIVATE); String policy = mainPref.getString("policy", ""); if (policy != null && policy != "") { if (apz != null || !apz.trim().equals("")) { } } } catch (JSONException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }
From source file:com.allwinner.theatreplayer.launcher.activity.LaunchActivity.java
@Override public void onClick(View view) { CellInfo cellInfo = (CellInfo) view.getTag(); // Log.i("jim", "1111111111111=======cellInfo.packageName = "+cellInfo.packageName); if (cellInfo != null && mLauncherModel != null) { // Log.i("jim", "22222222222=======cellInfo.packageName = "+cellInfo.packageName); if (cellInfo.packageName.equals(Constants.PACKAGE_QQ) && SharedPreUtil.isFirstRunQQ(Constants.PACKAGE_QQ)) { LauncherApp.gIsFirstRunQQ = true; SharedPreUtil.saveQQVersionNum(Constants.PACKAGE_QQ); if (!OrientatorService.mIsClose) { OrientatorService.closeOrientatorMode(); }//from w w w . j a v a 2 s .co m } else if (cellInfo.portrait.equals("true")) { if (LoadApplicationInfo.isInstalled(this, cellInfo.packageName)) { if (!OrientatorService.mIsClose) { OrientatorService.closeOrientatorMode(); } } } else { if (OrientatorService.mIsClose) { OrientatorService.forceLandscapeMode(); } } // Log.i("jim", "3333333=======cellInfo.packageName = "+cellInfo.packageName); if (cellInfo.packageName.equals(Constants.PACKAGE_VODTYPE)) { mLauncherModel.startVstByType(cellInfo.className, Constants.PACKAGE_VODTYPE); // Log.i("jim", "4444444444444=======cellInfo.packageName = "+cellInfo.packageName); } else if (cellInfo.packageName.equals(Constants.PACKAGE_VST_RECORD) || cellInfo.packageName.equals(Constants.PACKAGE_VST_SETTING)) { mLauncherModel.startActivityByAction(cellInfo.packageName); // Log.i("jim", "5555555555=======cellInfo.packageName = "+cellInfo.packageName); } else if (cellInfo.packageName.equals(Constants.PACKAGE_GALLERY)) { if (cellInfo.className.equals(Constants.PACKAGE_CAMERA)) { // Log.i("jim", "66666666666=======cellInfo.packageName = "+cellInfo.packageName); try { ComponentName componentName = new ComponentName(Constants.PACKAGE_GALLERY, Constants.PACKAGE_CAMERA); Intent intent = new Intent(); intent.setComponent(componentName); startActivity(intent); } catch (Exception e) { Toast.makeText(this, cellInfo.packageName + " not found", Toast.LENGTH_SHORT).show(); } } else { mLauncherModel.startThirdApk(Constants.PACKAGE_GALLERY, cellInfo.className); // Log.i("jim", "7777777777777777=======cellInfo.packageName = "+cellInfo.packageName); } } else if (cellInfo.packageName.equals(Constants.PACKAGE_OCOCCI_VIDEO)) { // Log.i("jim", "AAAAAAAAAAAA=======cellInfo.packageName = "+cellInfo.packageName); //if(cellInfo.className.equals("tv")){ Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); ComponentName cn = new ComponentName(Constants.PACKAGE_OCOCCI_VIDEO, "com.ococci.video.activity.WelcomeActivity"); intent.putExtra("video_request_flag", cellInfo.className); intent.setComponent(cn); startActivity(intent); //} } else if (cellInfo.packageName.equals(Constants.PACKAGE_HEALTH)) { Intent intent = new Intent(); intent.setAction("com.vst.allwinner.intent.action.ChannelActivity"); intent.putExtra("cid", cellInfo.className);// startActivity(intent); } else if (cellInfo.packageName.equals(Constants.PACKAGE_CHILDREN)) { Intent intent = new Intent(); intent.setAction("myvst.intent.action.children.list.v2"); intent.putExtra("uuid", "424C4C7347456F6F1CF462"); intent.putExtra("playerIndex", 1); startActivity(intent); } else if (cellInfo.className != null && !cellInfo.className.equals("")) { mLauncherModel.startActivity(cellInfo.packageName, cellInfo.className); // Log.i("jim", "88888888888=======cellInfo.packageName = "+cellInfo.packageName); } else if (cellInfo.packageName.equals(Constants.PACKAGE_LIVE)) { // Log.i("jim", "999999999999999=======cellInfo.packageName = "+cellInfo.packageName); if (mLiveAppAuthorized) { mLauncherModel.startThirdApk(cellInfo.packageName); } else { CustomToast.showToast(this, R.string.live_unauthorized); } } else if (cellInfo.packageName.equals("com.allwinner.theatreplayer.launcher.AllAppActivity")) { // Log.i("Trim", cellInfo.packageName); Intent intent = new Intent(LaunchActivity.this, LocalAppActivity.class); startActivity(intent); } else if (cellInfo.packageName.equals("com.android.settings")) { //R16settings if (Utils.isPkgInstalled(LaunchActivity.this, Constants.PACKAGE_SETTINGS)) { mLauncherModel.startThirdApk(Constants.PACKAGE_SETTINGS); } else { mLauncherModel.startThirdApk(cellInfo.packageName); } } else { // Log.i("Trim", cellInfo.packageName); mLauncherModel.startThirdApk(cellInfo.packageName); } } }
From source file:com.google.android.apps.muzei.api.MuzeiArtSource.java
private PendingIntent getHandleNextCommandPendingIntent(Context context) { return PendingIntent.getService(context, 0, new Intent(ACTION_HANDLE_COMMAND) .setComponent(new ComponentName(context, getClass())) .setData(Uri.fromParts(URI_SCHEME_COMMAND, Integer.toString(BUILTIN_COMMAND_ID_NEXT_ARTWORK), null)) .putExtra(EXTRA_COMMAND_ID, BUILTIN_COMMAND_ID_NEXT_ARTWORK).putExtra(EXTRA_SCHEDULED, true), PendingIntent.FLAG_UPDATE_CURRENT); }