public void logIntent(String tag, String msg, Intent intent, int logLevel, boolean logExtras) {
    StringBuilder sb = new StringBuilder();

    if (msg != null) {
      sb.append(msg);
      sb.append(intent.toString());
    } else {
      sb.append("LOG Intent: ");
      sb.append(intent.toString());
    }

    if (intent.getAction() != null) {
      sb.append(intent.getAction());
      sb.append(" ");
    }

    if (intent.getDataString() != null) {
      sb.append(intent.getDataString());
      sb.append(" ");
    }

    if (logExtras) {
      Bundle extras = intent.getExtras();
      if (extras != null) {
        for (String key : extras.keySet()) {
          String extra = String.valueOf(extras.get(key));
          sb.append(String.format("EXTRA [\"%s\"]: %s ", key, extra));
        }
      }
    }

    log(tag, sb.toString(), logLevel);
  }
  // ##date:2013/11/28 ##author:hongxing.whx
  // backup restore functionality support
  private void handleRestore() {
    if (BackupManager.getRestoreFlag(this)) {
      // set in restore flag, so that other part can use it to judge if homeshell
      // is in restore mode
      Log.d(TAG, "Set homeshell inRestore flag");
      BackupManager.getInstance().setIsInRestore(true);
      //            BackupManager.setRestoreFlag(this, false);

      /*YUNOS BEGIN*/
      // ##date:2013/12/20 ##author:hao.liuhaolh ##BugID: 75596
      // restore app isn't in folder if restore failed and reload.
      Cursor c = null;
      File restoreDBfile =
          new File(getApplicationContext().getFilesDir() + "/backup/" + RESTORE_DB_FILE);
      if (restoreDBfile.exists() == true) {
        Log.d(TAG, "handleRestore read data from restore db");
        SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(restoreDBfile, null);
        c = db.query("favorites", null, null, null, null, null, null);
        // convertDBToBackupSet will close cursor, so we don't need to close it
        mBackupRecordMap = BackupUitil.convertDBToBackupSet(c);
        db.close();
      } else {
        Log.d(TAG, "handleRestore read data from homeshell db");
        final ContentResolver contentResolver = getApplicationContext().getContentResolver();
        c = contentResolver.query(Favorites.CONTENT_URI, null, null, null, null);
        // convertDBToBackupSet will close cursor, so we don't need to close it
        mBackupRecordMap = BackupUitil.convertDBToBackupSet(c);
      }
      /*YUNOS END*/

      for (Entry<String, BackupRecord> r : LauncherApplication.mBackupRecordMap.entrySet()) {
        Log.d(TAG, r.getValue().getField(Favorites._ID));
        String intentStr = r.getValue().getField(Favorites.INTENT);
        if (TextUtils.isEmpty(intentStr)) {
          continue;
        }
        try {
          Intent intent = Intent.parseUri(intentStr, 0);
          final ComponentName name = intent.getComponent();
          if (name == null) {
            Log.e(TAG, "ComponentName == Null");
            Log.i(TAG, "intent = " + intent.toString());
            continue;
          }
          Log.d(
              TAG,
              "onCreate() mBackupRecordMap getPackageName()="
                  + intent.getComponent().getPackageName());
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }
  }
        @Override
        public void onReceive(Context context, Intent intent) {
          if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(intent.getAction())) {
            long reference = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);
            Log.d(
                TAG,
                "refrence:"
                    + reference
                    + "#my reference:"
                    + mDownloadReference
                    + ", intent:"
                    + intent.toString());
            if (mDownloadReference == reference) {
              DownloadManager downloadManager;
              mContext.unregisterReceiver(mReceiver);
              downloadManager =
                  (DownloadManager) mContext.getSystemService(Context.DOWNLOAD_SERVICE);
              Uri apkUri = downloadManager.getUriForDownloadedFile(reference);

              if (apkUri != null) {
                Intent installIntent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
                installIntent.setData(apkUri);
                mContext.startActivity(installIntent);
              }
            }
          }
        }
  @Override
  public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    Log.i(TAG, intent.toString());

    String action = intent.getAction();
    Uri uri = intent.getData();
    Log.i(TAG, "MediaMountReceiver" + uri);
    if (Intent.ACTION_MEDIA_MOUNTED.equals(action)) {
      if (Util.hasExternalUpdateFile(uri) && Util.checkAllFileMD5(context)) {
        Log.d(
            TAG,
            "Name : UdiskUpgrade, Version : 1.0.0, Date : 2015-1-27, Publisher : Michael.Zhang, Revision : ");
        //				Intent intent1 = new Intent(context, UpgradeActivity.class);
        //				intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        //				context.startActivity(intent1);
        Intent intent1 = new Intent("com.intent.action.UPGRADESERVICE");
        context.startService(intent1);
      }

      /*
       * Bundle args = new Bundle(); args.putString("path", path);
       * args.putStringArray("files", files); context.startService(new
       * Intent(context, UdiskUpgradeService.class).putExtras(args));
       */
    }
  }
Exemple #5
0
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    try {
      if (requestCode == Result_load_img && resultCode == RESULT_OK && data != null) {
        Log.d("Mainaaaa", data.toString());
        //    Uri selectedImg = data.getData();
        //      String[] filepathcolumn = {MediaStore.Images.Media.DATA};
        //                Cursor cursor = getContentResolver().query(selectedImg, filepathcolumn,
        // null, null, null);

        //  cursor.moveToFirst();

        // int columnIndex = cursor.getColumnIndex(filepathcolumn[0]);

        // imgDecodableString = cursor.getString(columnIndex);

        // cursor.close();
        ImageView imageView = (ImageView) findViewById(R.id.imgView);
        //  imageView.setImageBitmap(BitmapFactory.decodeFile(imgDecodableString));

        Uri uri = data.getData();
        imageView.setImageURI(uri);

      } else {
        Toast.makeText(this, "You haven't picked any image", Toast.LENGTH_LONG).show();
      }
    } catch (Exception e) {
      Toast.makeText(this, "Something went wrong", Toast.LENGTH_LONG).show();
    }
  }
 private void startService() {
   Intent intent = new Intent();
   intent.setClassName(
       "org.dobots.monotonesweepmodule",
       "org.dobots.monotonesweepmodule.aim.MonotoneSweepModuleService");
   ComponentName name = startService(intent);
   Log.i(TAG, "Starting: " + intent.toString());
 }
 private static void logTransactionTooLargeOrRethrow(RuntimeException e, Intent intent) {
   // See http://crbug.com/369574.
   if (e.getCause() != null && e.getCause() instanceof TransactionTooLargeException) {
     Log.e(TAG, "Could not resolve Activity for intent " + intent.toString(), e);
   } else {
     throw e;
   }
 }
  private void runStart() {
    Intent intent = makeIntent();

    if (intent != null) {
      System.out.println("Starting: " + intent);
      try {
        intent.addFlags(intent.FLAG_ACTIVITY_NEW_TASK);
        // XXX should do something to determine the MIME type.
        int res =
            mAm.startActivity(
                null, intent, intent.getType(), null, 0, null, null, 0, false, mDebugOption);
        switch (res) {
          case IActivityManager.START_SUCCESS:
            break;
          case IActivityManager.START_CLASS_NOT_FOUND:
            System.err.println("Error type 3");
            System.err.println(
                "Error: Activity class "
                    + intent.getComponent().toShortString()
                    + " does not exist.");
            break;
          case IActivityManager.START_DELIVERED_TO_TOP:
            System.err.println(
                "Warning: Activity not started, intent has "
                    + "been delivered to currently running "
                    + "top-most instance.");
            break;
          case IActivityManager.START_FORWARD_AND_REQUEST_CONFLICT:
            System.err.println(
                "Error: Activity not started, you requested to "
                    + "both forward and receive its result");
            break;
          case IActivityManager.START_INTENT_NOT_RESOLVED:
            System.err.println(
                "Error: Activity not started, unable to " + "resolve " + intent.toString());
            break;
          case IActivityManager.START_RETURN_INTENT_TO_CALLER:
            System.err.println(
                "Warning: Activity not started because intent "
                    + "should be handled by the caller");
            break;
          case IActivityManager.START_TASK_TO_FRONT:
            System.err.println(
                "Warning: Activity not started, its current "
                    + "task has been brought to the front");
            break;
          default:
            System.err.println("Error: Activity not started, unknown error " + "code " + res);
            break;
        }
      } catch (RemoteException e) {
        System.err.println("Error type 1");
        System.err.println(
            "Error: Activity not started, unable to " + "call on to activity manager service");
      }
    }
  }
  @Override
  public void onReceive(Context context, Intent intent) {

    Log.i(TAG, "Recebendo uma transmissão: " + intent.toString());

    // iniciando o service de importação de dados
    Intent i = new Intent(context, ImportDataService.class);
    context.startService(i);
  }
Exemple #10
0
 private void stopService() {
   Intent intent = new Intent();
   intent.setClassName(
       "org.dobots.monotonesweepmodule",
       "org.dobots.monotonesweepmodule.aim.MonotoneSweepModuleService");
   stopService(intent);
   Log.i(TAG, "Stopping service: " + intent.toString());
   //		finish();
 }
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   if (resultCode != RESULT_OK) {
     return;
   }
   switch (requestCode) {
     case REQUEST_CODE_SHOW_PRODUCT:
       Trace.e(TAG, "Show Product:result data->" + (null == data ? "null" : data.toString()));
       if (data != null
           && data.hasExtra(ProductDetailActivity.KEY_PRODUCT_REC)
           && data.hasExtra(ProductDetailActivity.KEY_POST_NUMBER)
           && data.hasExtra(ProductDetailActivity.KEY_EDIT_TYPE)) {
         ProductRec productRec =
             (ProductRec) data.getSerializableExtra(ProductDetailActivity.KEY_PRODUCT_REC);
         int pos = (Integer) data.getSerializableExtra(ProductDetailActivity.KEY_POST_NUMBER);
         int editType =
             data.getIntExtra(
                 ProductDetailActivity.KEY_EDIT_TYPE, ProductDetailActivity.TYPE_EDIT_PRODUCT);
         // 移除记录满足以下条件即可:
         // (1)藏品做了移除操作;
         // (2)藏品做了下架操作;
         // (3)藏品做了重新设置了分类操作;
         boolean isNeedRemoveProduct = false;
         if (editType == ProductDetailActivity.TYPE_REMOVE_PRODUCT) {
           isNeedRemoveProduct = true;
         } else {
           //					if(null != productRec){
           ////						isNeedRemoveProduct = !productRec.isOnSale();
           ////						String catId = productRec.getCatId();
           //						String currPageCatId = null == tagRec ? null : tagRec.getId();
           //						if(!isNeedRemoveProduct && null != catId && null != currPageCatId &&
           // !catId.equalsIgnoreCase(currPageCatId)){
           //							isNeedRemoveProduct = true;
           //						}
           //					}
         }
         if (isNeedRemoveProduct) {
           try {
             productList.remove(pos);
           } catch (Exception e) {
             Log.e(TAG, "Remove ProductRec failure: pos outOfArrIndex Exception.", e);
           }
         } else {
           //					productList.get(pos).setInFav(productRec.getInFav());
           //					productList.get(pos).setFavNum(productRec.getFavNum());
         }
         productAdapter.notifyDataSetInvalidated();
       }
       break;
     case FOR_LOGIN_RESULT:
       readyToGetAllGoodsByTagID(tagRec.getId(), true);
       break;
     default:
       break;
   }
 };
Exemple #12
0
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_CANCELED) {
      // User cancelled the image capture
      showToast(getResources().getString(R.string.info_select_logimage_cancelled));
      return;
    }

    if (resultCode != RESULT_OK) {
      // Image capture failed, advise user
      showFailure();
      return;
    }

    if (data != null) {
      Uri selectedImage = data.getData();
      String[] filePathColumn = {MediaColumns.DATA};

      Cursor cursor = null;
      try {
        cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
        if (cursor == null) {
          showFailure();
          return;
        }
        cursor.moveToFirst();

        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String filePath = cursor.getString(columnIndex);
        if (StringUtils.isBlank(filePath)) {
          showFailure();
          return;
        }
        imageUri = Uri.parse(filePath);
      } catch (Exception e) {
        Log.e("ImageSelectActivity.onActivityResult", e);
        showFailure();
      } finally {
        if (cursor != null) {
          cursor.close();
        }
      }

      Log.d("SELECT IMAGE data = " + data.toString());
    } else {
      Log.d("SELECT IMAGE data is null");
    }

    if (requestCode == SELECT_NEW_IMAGE) {
      showToast(getResources().getString(R.string.info_stored_image) + "\n" + imageUri);
    }

    loadImagePreview();
  }
  private void startResultsLog(
      boolean wca, boolean swb, boolean hc, boolean chromaticity, boolean bayer, Intent intent) {

    Log.i(TAG, wca + " " + swb + " " + hc + " " + chromaticity + " " + bayer);
    Log.i(TAG, intent.toString());
    intent.putExtra(getString(R.string.wca_checkbox), wca);
    intent.putExtra(getString(R.string.swb_checkbox), swb);
    intent.putExtra(getString(R.string.hc_analysis_check), hc);
    intent.putExtra(getString(R.string.chromaticity_check), chromaticity);
    intent.putExtra(getString(R.string.bayer_check), bayer);
    intent.setClass(this, LensCountActivity.class);

    startActivity(intent);
  }
  public static void printIntent(Intent intent) {
    EzLog.d("[Intent Info] actionName=" + intent.getAction());
    EzLog.d("  + Intent toString=" + intent.toString());

    Bundle extras = intent.getExtras();
    if (extras == null) return;

    Set keys = extras.keySet();
    int index = 0;
    for (String key : extras.keySet()) {
      EzLog.d("  + [" + index + "]" + " key=" + key + ", value=" + extras.get(key));
      index += 1;
    }
  }
Exemple #15
0
 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent arg2) {
   // TODO Auto-generated method stub
   Log.e(
       "info",
       "rusultCode " + resultCode + "  arg2  " + (null != arg2 ? arg2.toString() : "kong "));
   if (resultCode != 2222) {
     return;
   }
   // if (null != arg2 && arg2.getBooleanExtra("flag", false)) {
   finish();
   // }
   super.onActivityResult(requestCode, resultCode, arg2);
 }
  /**
   * Receive a broadcast intent.
   *
   * @param context The Context in which the receiver is running.
   * @param intent The intent received.
   */
  @Override
  public void onReceive(Context context, Intent intent) {
    int pid = intent.getIntExtra(TestStatusReporter.EXTRA_PID, 0);
    String testClass = intent.getStringExtra(TestStatusReporter.EXTRA_TEST_CLASS);
    String testMethod = intent.getStringExtra(TestStatusReporter.EXTRA_TEST_METHOD);
    String stackTrace = intent.getStringExtra(TestStatusReporter.EXTRA_STACK_TRACE);

    switch (intent.getAction()) {
      case TestStatusReporter.ACTION_TEST_STARTED:
        for (StartCallback c : mStartCallbacks) {
          c.testStarted(testClass, testMethod);
        }
        break;
      case TestStatusReporter.ACTION_TEST_PASSED:
        for (PassCallback c : mPassCallbacks) {
          c.testPassed(testClass, testMethod);
        }
        break;
      case TestStatusReporter.ACTION_TEST_FAILED:
        for (FailCallback c : mFailCallbacks) {
          c.testFailed(testClass, testMethod, stackTrace);
        }
        break;
      case TestStatusReporter.ACTION_HEARTBEAT:
        for (HeartbeatCallback c : mHeartbeatCallbacks) {
          c.heartbeat();
        }
        break;
      case TestStatusReporter.ACTION_TEST_RUN_STARTED:
        for (TestRunCallback c : mTestRunCallbacks) {
          c.testRunStarted(pid);
        }
        break;
      case TestStatusReporter.ACTION_TEST_RUN_FINISHED:
        for (TestRunCallback c : mTestRunCallbacks) {
          c.testRunFinished(pid);
        }
        break;
      case TestStatusReporter.ACTION_UNCAUGHT_EXCEPTION:
        for (TestRunCallback c : mTestRunCallbacks) {
          c.uncaughtException(pid, stackTrace);
        }
        break;
      default:
        Log.e(TAG, "Unrecognized intent received: %s", intent.toString());
        break;
    }
  }
 public void doRestart() {
   try {
     String action = "org.mozilla.gecko.restart";
     Intent intent = new Intent(action);
     intent.setClassName(getPackageName(), getPackageName() + ".Restarter");
     addEnvToIntent(intent);
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
     Log.i(LOG_FILE_NAME, intent.toString());
     GeckoAppShell.killAnyZombies();
     startActivity(intent);
   } catch (Exception e) {
     Log.i(LOG_FILE_NAME, "error doing restart", e);
   }
   finish();
   // Give the restart process time to start before we die
   GeckoAppShell.waitForAnotherGeckoProc();
 }
 @Override
 public void onReceive(Context context, Intent intent) {
   PreyLogger.d("Boot finished. Starting Prey Boot Service");
   // just make sure we are getting the right intent (better safe than
   // sorry)
   if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
     String interval = PreyConfig.getPreyConfig(context).getIntervalReport();
     if (interval != null && !"".equals(interval)) {
       Report.run(context, Integer.parseInt(interval));
     }
     boolean keepOn = PreyConfig.getPreyConfig(context).isKeepOn();
     if (keepOn) {
       context.startService(new Intent(context, PreyKeepOnService.class));
     } else {
       context.stopService(new Intent(context, PreyKeepOnService.class));
     }
   } else PreyLogger.e("Received unexpected intent " + intent.toString(), null);
 }
  @Override
  public void onReceive(Context context, Intent intent) {
    Log.i(logTag, "Received intent: " + intent.toString());
    String action = intent.getAction();

    if (action.equals(PushManager.ACTION_PUSH_RECEIVED)) {

      int id = intent.getIntExtra(PushManager.EXTRA_NOTIFICATION_ID, 0);

      Log.i(
          logTag,
          "Received push notification. Alert: "
              + intent.getStringExtra(PushManager.EXTRA_ALERT)
              + " [NotificationID="
              + id
              + "]");

      logPushExtras(intent);

    } else if (action.equals(PushManager.ACTION_NOTIFICATION_OPENED)) {

      Log.i(
          logTag,
          "User clicked notification. Message: " + intent.getStringExtra(PushManager.EXTRA_ALERT));

      logPushExtras(intent);

      Intent launch = new Intent(Intent.ACTION_MAIN);
      launch.setClass(UAirship.shared().getApplicationContext(), MainActivity.class);
      launch.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

      UAirship.shared().getApplicationContext().startActivity(launch);

    } else if (action.equals(PushManager.ACTION_REGISTRATION_FINISHED)) {
      Log.i(
          logTag,
          "Registration complete. APID:"
              + intent.getStringExtra(PushManager.EXTRA_APID)
              + ". Valid: "
              + intent.getBooleanExtra(PushManager.EXTRA_REGISTRATION_VALID, false));
    }
  }
  void updateResult() {
    Intent intent = new Intent();

    long id = mSpinnerAction.getSelectedItemId();
    if (id == 0) {
      intent.putExtra(ShoppingListIntents.EXTRA_ACTION, ShoppingListIntents.TASK_CLEAN_UP_LIST);
    }
    intent.putExtra(ShoppingListIntents.EXTRA_DATA, mUri.toString());

    String description = mDescriptionAction + ": " + mDescriptionShoppingList;
    intent.putExtra(AutomationIntents.EXTRA_DESCRIPTION, description);

    if (debug) {
      Log.i(TAG, "Created intent (URI)   : " + intent.toURI());
    }
    if (debug) {
      Log.i(TAG, "Created intent (String): " + intent.toString());
    }

    setResult(RESULT_OK, intent);
  }
 /**
  * Returns an explicit Intent for a service that accepts the given Intent or null if no such
  * service was found.
  *
  * @param context The application's environment.
  * @param action The Intent action to check for availability.
  * @return The explicit service Intent or null if no service was found.
  */
 public static Intent getPrestoServiceIntent(Context context, String action) {
   final PackageManager packageManager = context.getPackageManager();
   final Intent actionIntent = new Intent(action);
   List<ResolveInfo> list =
       packageManager.queryIntentServices(actionIntent, PackageManager.MATCH_DEFAULT_ONLY);
   if (list.size() > 0) {
     ResolveInfo first = list.get(0);
     if (first.serviceInfo != null) {
       Intent intent = new Intent();
       intent.setComponent(
           new ComponentName(first.serviceInfo.packageName, first.serviceInfo.name));
       Log.i(TAG, "Returning intent:" + intent.toString());
       return intent;
     } else {
       Log.e(TAG, "Found service that accepts " + action + ", but serviceInfo was null");
       return null;
     }
   } else {
     return null;
   }
 }
 protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
   switch (requestCode) {
     case REQUEST_PICK_TOKEN:
       if (resultCode == RESULT_OK && intent != null) {
         Uri name = intent.getData();
         try {
           // URI vs Uri -> Java/Android fail ...
           File f = new File(new URI(name.toString()));
           Token t = Token.fromFile(f);
           SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
           SharedPreferences.Editor e = p.edit();
           e.putString("token", t.toString());
           e.commit();
           Toast.makeText(this, "Token successfully imported.", Toast.LENGTH_LONG).show();
         } catch (Exception e) {
           e.printStackTrace();
         }
       }
       break;
     default:
       Log.w(TAG, "Unknown activity " + intent.toString());
   }
 }
Exemple #23
0
  @Override
  public void onReceive(Context context, Intent intent) {
    Log.v(TAG, intent.toString());

    session = Session.getInstance(context);
    String action = intent.getAction();
    Bundle data = intent.getExtras();
    final NotificationManager nm =
        (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    final NotificationCompat.Builder ncb;

    if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {

      session.registerAlarms();

    } else if (action.equals(SR.CLEAN_DB_CACHE)
        || action.equals(SR.GDRIVE_SYNCNOW)
        || action.equals(SR.CHECK_TVDB_RSS)) {

      session.registerAlarms();
      WakefulIntentService.sendWakefulWork(
          context, new Intent(context, Service.class).setAction(action));

    } else if (action.equals(SN.CONNECT_FAIL)) {

      ncb = new NotificationCompat.Builder(session.getContext()).setAutoCancel(true);
      ncb.setSmallIcon(R.drawable.ic_notification_error);
      ncb.setContentTitle(session.getString(R.string.notif_gac_fail));
      ncb.setContentIntent(newPI(newAI(SN.CONNECT_FAIL), false));
      if (session.notificationSound()) ncb.setSound(NOTIF_SOUND);
      nm.notify(NOTIF_CONNECT_FAIL, ncb.build());

    } else if (action.equals(Commons.SN.GENERAL_FAIL)) {

      ncb = new NotificationCompat.Builder(session.getContext()).setAutoCancel(true);
      ncb.setSmallIcon(R.drawable.ic_notification_error);
      ncb.setContentTitle(session.getString(R.string.notif_srv_fail));
      ncb.setContentText(data.getString("what"));
      ncb.setContentIntent(newPI(newAI(SN.GENERAL_FAIL), false));
      if (session.notificationSound()) ncb.setSound(NOTIF_SOUND);
      nm.notify(NOTIF_GENERAL_FAIL, ncb.build());

    } else if (action.equals(Commons.SN.GENERAL_INFO)) {

      ncb = new NotificationCompat.Builder(session.getContext()).setAutoCancel(true);
      ncb.setSmallIcon(R.drawable.ic_notification_info);
      ncb.setContentTitle(session.getString(R.string.notif_srv_info));
      ncb.setContentText(data.getString("what"));
      ncb.setContentIntent(newPI(newAI(SN.GENERAL_INFO), false));
      if (session.notificationSound()) ncb.setSound(NOTIF_SOUND);
      nm.notify(NOTIF_GENERAL_INFO, ncb.build());

    } else if (action.equals(SN.MOV_WLST)) {

      ncb = new NotificationCompat.Builder(session.getContext()).setAutoCancel(true);
      ncb.setSmallIcon(R.drawable.ic_notification_movie);
      ncb.setContentTitle(session.getString(R.string.notif_mov_wlst));
      ncb.setContentText(data.getString("name", session.getString(R.string.notif_gen_miss)));
      ncb.setContentIntent(
          newPI(newAI(MA.MOVIE_INFO).putExtra("imdb_id", data.getString("imdb_id")), true));
      if (session.notificationSound()) ncb.setSound(NOTIF_SOUND);
      nm.notify(NOTIF_ID.incrementAndGet(), ncb.build());

    } else if (action.equals(SN.MOV_COLL)) {

      ncb = new NotificationCompat.Builder(session.getContext()).setAutoCancel(true);
      ncb.setSmallIcon(R.drawable.ic_notification_movie);
      ncb.setContentTitle(session.getString(R.string.notif_mov_coll));
      ncb.setContentText(data.getString("name", session.getString(R.string.notif_gen_miss)));
      ncb.setContentIntent(
          newPI(newAI(MA.MOVIE_INFO).putExtra("imdb_id", data.getString("imdb_id")), true));
      if (session.notificationSound()) ncb.setSound(NOTIF_SOUND);
      nm.notify(NOTIF_ID.incrementAndGet(), ncb.build());

    } else if (action.equals(SN.SER_WLST)) {

      ncb = new NotificationCompat.Builder(session.getContext()).setAutoCancel(true);
      ncb.setSmallIcon(R.drawable.ic_notification_series);
      ncb.setContentTitle(session.getString(R.string.notif_ser_wlst));
      ncb.setContentText(data.getString("name", session.getString(R.string.notif_gen_miss)));
      ncb.setContentIntent(
          newPI(newAI(MA.SERIES_INFO).putExtra("tvdb_id", data.getString("tvdb_id")), true));
      if (session.notificationSound()) ncb.setSound(NOTIF_SOUND);
      nm.notify(NOTIF_ID.incrementAndGet(), ncb.build());

    } else if (action.equals(SN.SER_COLL)) {

      EID eid = new EID(data.getString("series"), data.getInt("season"), data.getInt("episode"));
      ncb = new NotificationCompat.Builder(session.getContext()).setAutoCancel(true);
      ncb.setSmallIcon(R.drawable.ic_notification_series);
      ncb.setContentTitle(session.getString(R.string.notif_ser_coll));
      ncb.setContentText(
          eid.readable() + " " + data.getString("name", session.getString(R.string.unknown_title)));
      ncb.setContentIntent(
          newPI(
              newAI(MA.EPISODE_INFO)
                  .putExtra("series", eid.series)
                  .putExtra("season", eid.season)
                  .putExtra("episode", eid.episode),
              true));
      if (session.notificationSound()) ncb.setSound(NOTIF_SOUND);
      nm.notify(NOTIF_ID.incrementAndGet(), ncb.build());

    } else if (action.equals(SN.SER_PREM)) {

      ncb = new NotificationCompat.Builder(session.getContext()).setAutoCancel(true);
      ncb.setSmallIcon(R.drawable.ic_notification_premiere);
      ncb.setContentTitle(session.getString(R.string.notif_ser_prem));
      ncb.setContentText(data.getString("name", session.getString(R.string.notif_gen_miss)));
      ncb.setContentIntent(
          newPI(newAI(MA.SERIES_INFO).putExtra("tvdb_id", data.getString("tvdb_id")), true));
      if (session.notificationSound()) ncb.setSound(NOTIF_SOUND);
      String plot = data.getString("plot");
      if (!TextUtils.isEmpty(plot))
        ncb.setStyle(new NotificationCompat.BigTextStyle().bigText(plot));
      String purl = data.getString("poster");
      if (TextUtils.isEmpty(purl)) nm.notify(NOTIF_ID.incrementAndGet(), ncb.build());
      else
        session
            .picasso()
            .load(purl)
            .placeholder(R.drawable.ic_notification_premiere)
            .into(
                new Target() {
                  @Override
                  public void onPrepareLoad(Drawable arg0) {}

                  @Override
                  public void onBitmapLoaded(Bitmap bitmap, LoadedFrom source) {
                    ncb.setLargeIcon(bitmap);
                    nm.notify(NOTIF_ID.incrementAndGet(), ncb.build());
                  }

                  @Override
                  public void onBitmapFailed(Drawable arg0) {
                    nm.notify(NOTIF_ID.incrementAndGet(), ncb.build());
                  }
                });

    } else if (action.equals(SN.SER_CANC)) {

      ncb = new NotificationCompat.Builder(session.getContext()).setAutoCancel(true);
      ncb.setSmallIcon(R.drawable.ic_notification_deleted);
      ncb.setContentTitle(session.getString(R.string.notif_ser_canc));
      ncb.setContentText(data.getString("name", session.getString(R.string.notif_gen_miss)));
      ncb.setContentIntent(
          newPI(newAI(MA.SERIES_INFO).putExtra("tvdb_id", data.getString("tvdb_id")), true));
      if (session.notificationSound()) ncb.setSound(NOTIF_SOUND);
      String purl = data.getString("poster");
      if (TextUtils.isEmpty(purl)) nm.notify(NOTIF_ID.incrementAndGet(), ncb.build());
      else
        session
            .picasso()
            .load(purl)
            .placeholder(R.drawable.ic_notification_deleted)
            .into(
                new Target() {
                  @Override
                  public void onPrepareLoad(Drawable arg0) {}

                  @Override
                  public void onBitmapLoaded(Bitmap bitmap, LoadedFrom source) {
                    ncb.setLargeIcon(bitmap);
                    nm.notify(NOTIF_ID.incrementAndGet(), ncb.build());
                  }

                  @Override
                  public void onBitmapFailed(Drawable arg0) {
                    nm.notify(NOTIF_ID.incrementAndGet(), ncb.build());
                  }
                });

    } else if (action.equals(SN.DBG_TVDB_RSS)) {

      ncb = new NotificationCompat.Builder(session.getContext()).setAutoCancel(true);
      ncb.setSmallIcon(R.drawable.ic_notification_info);
      ncb.setContentTitle(session.getString(R.string.notif_dbg_rsst));
      ncb.setContentText(
          String.format(
              session.getString(R.string.notif_dbg_rssm),
              data.getInt("tot"),
              data.getInt("chk"),
              data.getInt("oks")));
      ncb.setContentIntent(newPI(newAI(SN.GENERAL_INFO), false));
      nm.notify(NOTIF_GENERAL_INFO, ncb.build());
    }
  }
  @Override
  public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
    if (preference.getKey().equals(KEY_FIRMWARE_VERSION)) {
      System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
      mHits[mHits.length - 1] = SystemClock.uptimeMillis();
      if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.setClassName("android", com.android.internal.app.PlatLogoActivity.class.getName());
        try {
          startActivity(intent);
        } catch (Exception e) {
          Log.e(LOG_TAG, "Unable to start activity " + intent.toString());
        }
      }
    } else if (preference.getKey().equals(KEY_BUILD_NUMBER)) {
      // Don't enable developer options for secondary users.
      if (UserHandle.myUserId() != UserHandle.USER_OWNER) return true;

      if (mDevHitCountdown > 0) {
        mDevHitCountdown--;
        if (mDevHitCountdown == 0) {
          getActivity()
              .getSharedPreferences(DevelopmentSettings.PREF_FILE, Context.MODE_PRIVATE)
              .edit()
              .putBoolean(DevelopmentSettings.PREF_SHOW, true)
              .apply();
          if (mDevHitToast != null) {
            mDevHitToast.cancel();
          }
          mDevHitToast = Toast.makeText(getActivity(), R.string.show_dev_on, Toast.LENGTH_LONG);
          mDevHitToast.show();
        } else if (mDevHitCountdown > 0 && mDevHitCountdown < (TAPS_TO_BE_A_DEVELOPER - 2)) {
          if (mDevHitToast != null) {
            mDevHitToast.cancel();
          }
          mDevHitToast =
              Toast.makeText(
                  getActivity(),
                  getResources()
                      .getQuantityString(
                          R.plurals.show_dev_countdown, mDevHitCountdown, mDevHitCountdown),
                  Toast.LENGTH_SHORT);
          mDevHitToast.show();
        }
      } else if (mDevHitCountdown < 0) {
        if (mDevHitToast != null) {
          mDevHitToast.cancel();
        }
        mDevHitToast = Toast.makeText(getActivity(), R.string.show_dev_already, Toast.LENGTH_LONG);
        mDevHitToast.show();
      }
    } else if (preference.getKey().equals(KEY_MOD_VERSION)) {
      System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
      mHits[mHits.length - 1] = SystemClock.uptimeMillis();
      if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.putExtra("is_cid", true);
        intent.setClassName("android", com.android.internal.app.PlatLogoActivity.class.getName());
        try {
          startActivity(intent);
        } catch (Exception e) {
          Log.e(LOG_TAG, "Unable to start activity " + intent.toString());
        }
      }
    } else if (preference.getKey().equals(KEY_SELINUX_STATUS)) {
      System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
      mHits[mHits.length - 1] = SystemClock.uptimeMillis();
      if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {
        if (SELinux.isSELinuxEnabled()) {
          if (!SELinux.isSELinuxEnforced()) {
            /* Display the warning dialog */
            AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create();
            alertDialog.setTitle(R.string.selinux_enable_title);
            alertDialog.setMessage(getResources().getString(R.string.selinux_enable_warning));
            alertDialog.setButton(
                DialogInterface.BUTTON_POSITIVE,
                getResources().getString(com.android.internal.R.string.ok),
                new DialogInterface.OnClickListener() {
                  public void onClick(DialogInterface dialog, int which) {
                    SELinux.setSELinuxEnforce(true);
                    String status = getResources().getString(R.string.selinux_status_enforcing);
                    setStringSummary(KEY_SELINUX_STATUS, status);
                  }
                });
            alertDialog.setButton(
                DialogInterface.BUTTON_NEGATIVE,
                getResources().getString(com.android.internal.R.string.cancel),
                new DialogInterface.OnClickListener() {
                  public void onClick(DialogInterface dialog, int which) {}
                });
            alertDialog.setOnCancelListener(
                new DialogInterface.OnCancelListener() {
                  public void onCancel(DialogInterface dialog) {}
                });
            alertDialog.show();

          } else {
            SELinux.setSELinuxEnforce(false);
          }
        }

        if (!SELinux.isSELinuxEnabled()) {
          String status = getResources().getString(R.string.selinux_status_disabled);
          setStringSummary(KEY_SELINUX_STATUS, status);
        } else if (!SELinux.isSELinuxEnforced()) {
          String status = getResources().getString(R.string.selinux_status_permissive);
          setStringSummary(KEY_SELINUX_STATUS, status);
        } else if (SELinux.isSELinuxEnforced()) {
          String status = getResources().getString(R.string.selinux_status_enforcing);
          setStringSummary(KEY_SELINUX_STATUS, status);
        }
      }
    }
    return super.onPreferenceTreeClick(preferenceScreen, preference);
  }
 public boolean onUnbind(Intent intent) {
   Log.i(TAG, "Service onUnbind called for intent " + intent.toString());
   return true;
 }
 public IBinder onBind(Intent intent) {
   Log.i(TAG, "Service onBind called for intent " + intent.toString());
   return mEngineInterface;
 }
 private void i(Intent paramIntent)
 {
   if (paramIntent == null) {
     com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "receiveImp receiveIntent == null");
   }
   label11:
   label158:
   label421:
   label1121:
   label1128:
   label1206:
   label1212:
   do
   {
     do
     {
       do
       {
         return;
         i = WorkerProfile.lv().ah(false);
         if (ax.sO())
         {
           com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "mmcore is null, appcreate %d", new Object[] { Integer.valueOf(i) });
           return;
         }
         if (!WorkerProfile.lv().lw())
         {
           com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "WorkerProfile not has create, status %d", new Object[] { Integer.valueOf(i) });
           return;
         }
         i = paramIntent.getIntExtra("notify_option_type", 0);
         if (i == 0)
         {
           com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "receiveImp invalid opcode.");
           return;
         }
         if (ax.to())
         {
           if (ax.ts()) {
             break label158;
           }
           ax.tr();
         }
         while ((!ax.qZ()) || (ax.tu()))
         {
           com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "receiveImp hasSetuin:%b  isHold:%b  opcode:%d", new Object[] { Boolean.valueOf(ax.qZ()), Boolean.valueOf(ax.tu()), Integer.valueOf(i) });
           return;
           com.tencent.mm.sdk.platformtools.t.i("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "receiveImp uinHasDefaultButNoAcc but accInitializing true so not setup!");
         }
         if (tmbtD == null)
         {
           com.tencent.mm.sdk.platformtools.t.w("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "receiveImp  opcode:%d  getDispatcher == null", new Object[] { Integer.valueOf(i) });
           ax.tm().aH(true);
         }
         switch (i)
         {
         case 99: 
         default: 
           com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "invald opCode:" + i);
           return;
         case 1: 
           ak(aa.getContext());
           paramIntent = aa.getContext();
           com.tencent.mm.sdk.platformtools.t.i("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "dealWithLooper");
           if ((!ax.qZ()) || (ax.tu()))
           {
             com.tencent.mm.sdk.platformtools.t.w("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "receiveImp hasSetuin:" + ax.qZ() + " isHold:" + ax.tu());
             return;
           }
           if (!tmforeground)
           {
             if ((paramIntent != null) && (!al.cV(paramIntent)))
             {
               i = 1;
               if (i != 0) {
                 break label421;
               }
             }
           }
           else {
             ax.tm().d(new com.tencent.mm.ab.j(3));
           }
           for (;;)
           {
             x.Cr().run();
             v.Ca().run();
             af.zj().run();
             ay.azm().run();
             com.tencent.mm.app.plugin.voicereminder.a.e.lV().run();
             a.hXQ.g(new id());
             return;
             i = 0;
             break;
             ax.tm().d(new i());
           }
         case 2: 
           ak(aa.getContext());
           int j = paramIntent.getIntExtra("notify_respType", 0);
           localObject1 = paramIntent.getByteArrayExtra("notify_respBuf");
           localObject2 = paramIntent.getByteArrayExtra("notify_skey");
           long l = paramIntent.getLongExtra("notfiy_recv_time", -1L);
           if (localObject1 == null) {}
           for (i = -1;; i = localObject1.length)
           {
             com.tencent.mm.sdk.platformtools.t.i("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "dealWithNotify respType:%d recvTime:%d respBuf:%d sessionkey:%s ", new Object[] { Integer.valueOf(j), Long.valueOf(l), Integer.valueOf(i), bn.xZ(bn.aI((byte[])localObject2)) });
             switch (j)
             {
             default: 
               return;
             case 10: 
               com.tencent.mm.sdk.platformtools.t.d("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "on direct send notify");
               paramIntent = new l.b();
               hha = q.oI();
               localObject2 = new ae(paramIntent, 10);
               try
               {
                 if (!((ae)localObject2).a(10, (byte[])localObject1, null)) {
                   break label11;
                 }
                 ax.tm().a(0, 0, "", new com.tencent.mm.modelsimple.j(paramIntent));
                 return;
               }
               catch (RemoteException paramIntent)
               {
                 return;
               }
             }
           }
           if (bn.J((byte[])localObject2))
           {
             com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "dkpush dealWithNotify session:" + localObject2);
             return;
           }
           if ((bn.J((byte[])localObject1)) || (localObject1.length <= 8))
           {
             com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "dkpush dealWithNotify respBuf error ");
             return;
           }
           i = k.c((byte[])localObject1, 0);
           j = k.c((byte[])localObject1, 4);
           if (j != localObject1.length - 8)
           {
             com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "dkpush: respBuf length error len:" + localObject1.length);
             return;
           }
           byte[] arrayOfByte = new byte[j];
           System.arraycopy(localObject1, 8, arrayOfByte, 0, j);
           com.tencent.mm.sdk.platformtools.t.i("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "dkpush PUSHDATA flag:%d bufLen:%d respBuf:%d recvTime:%d", new Object[] { Integer.valueOf(i), Integer.valueOf(j), Integer.valueOf(localObject1.length), Long.valueOf(l) });
           paramIntent = new s.b();
           localObject1 = new PByteArray();
           PByteArray localPByteArray = new PByteArray();
           PInt localPInt = new PInt();
           try
           {
             if (!MMProtocalJni.unpack(localPByteArray, arrayOfByte, (byte[])localObject2, (PByteArray)localObject1, localPInt))
             {
               com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpJRvkgZo4JKS+ippUZtfBu8", "unpack push resp failed");
               return;
             }
           }
           catch (Exception paramIntent)
           {
             com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpJRvkgZo4JKS+ippUZtfBu8", "unpack push resp failed: %s", new Object[] { paramIntent });
             return;
           }
           if (value == -13)
           {
             hgQ = value;
             com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpJRvkgZo4JKS+ippUZtfBu8", "unpack push resp failed session timeout");
             return;
           }
           j = paramIntent.z(value);
           com.tencent.mm.sdk.platformtools.t.d("!32@/B4Tb64lLpJRvkgZo4JKS+ippUZtfBu8", "bufToResp using protobuf ok");
           hgQ = j;
           hgP = arrayOfByte.length;
           localObject1 = com.tencent.mm.platformtools.ad.iX(com.tencent.mm.platformtools.ad.iV((String)ax.tl().rf().get(8195, null)));
           localObject2 = w.a(hhm.hpC);
           if ((com.tencent.mm.platformtools.ad.J((byte[])localObject2)) || (!z.j((byte[])localObject1, (byte[])localObject2)))
           {
             com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpJRvkgZo4JKS+ippUZtfBu8", "compareKeybuf syncKey failed");
             return;
           }
           ax.tm().d(new com.tencent.mm.ab.j(paramIntent, i, l));
           return;
           if (localObject1 == null)
           {
             i = 7;
             if (localObject1 != null) {
               break label1206;
             }
             j = 3;
             if (localObject1 != null) {
               break label1212;
             }
           }
           for (int k = -1;; k = localObject1.length)
           {
             com.tencent.mm.sdk.platformtools.t.d("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "dkpush NOTIFY or SyncCheck selector:%d scnen:%d  respBuf:%d ", new Object[] { Integer.valueOf(i), Integer.valueOf(j), Integer.valueOf(k) });
             i = m.a(i, j, "");
             if (i <= 0) {
               break;
             }
             NotifyReceiver.by(i);
             al(aa.getContext());
             return;
             i = k.c((byte[])localObject1, 0);
             break label1121;
             j = 7;
             break label1128;
           }
           com.tencent.mm.sdk.platformtools.t.d("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "dkpush GCM Notify");
           i = m.a(7L, 15, "");
         }
       } while (i <= 0);
       NotifyReceiver.by(i);
       al(aa.getContext());
       return;
       paramIntent = new StringBuilder("oreh on newsynccheck2 notify, notify=");
       if (localObject1 != null) {}
       for (boolean bool = true;; bool = false)
       {
         com.tencent.mm.sdk.platformtools.t.d("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", bool);
         paramIntent = new w.b();
         try
         {
           paramIntent.z((byte[])localObject1);
           i = m.a(hhs, 7, paramIntent.aDt());
           if (i <= 0) {
             break;
           }
           NotifyReceiver.by(i);
           al(aa.getContext());
           return;
         }
         catch (Exception paramIntent)
         {
           return;
         }
       }
       ax.tm().d(new i());
       return;
       paramIntent = new ip();
       aFJ.aFL = true;
       a.hXQ.g(paramIntent);
       paramIntent = aFK.aFN;
       if (!bn.iW(paramIntent))
       {
         com.tencent.mm.sdk.platformtools.t.v("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "voipinvite, exit talkroom first: " + paramIntent);
         paramIntent = new ip();
         aFJ.aFM = true;
         a.hXQ.g(paramIntent);
       }
       com.tencent.mm.sdk.platformtools.t.d("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "dealWithNotify case MMFunc_VoipInvite, will launch voipUI");
       paramIntent = new jq();
       aGJ.axE = 3;
       aGJ.aGL = ((byte[])localObject1);
       a.hXQ.g(paramIntent);
       return;
       com.tencent.mm.sdk.platformtools.t.i("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "dealWithNotify MMFunc_VoipSync do VoipSync");
       paramIntent = new jq();
       aGJ.axE = 6;
       aGJ.aGL = ((byte[])localObject1);
       a.hXQ.g(paramIntent);
       return;
       paramIntent = new ck();
       axX.axY = ((byte[])localObject1);
       a.hXQ.g(paramIntent);
       return;
     } while (bn.J((byte[])localObject1));
     paramIntent = new String((byte[])localObject1);
     localObject1 = new p();
     aus.type = 4;
     aus.auu = paramIntent;
     a.hXQ.g((com.tencent.mm.sdk.c.d)localObject1);
     return;
     com.tencent.mm.sdk.platformtools.t.i("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "jacks do voice notify UI");
   } while (localObject1.length < 8);
   paramIntent = new byte[4];
   Object localObject2 = new byte[4];
   System.arraycopy(localObject1, 0, paramIntent, 0, 4);
   System.arraycopy(localObject1, 4, localObject2, 0, 4);
   Object localObject1 = new et();
   aBu.aBv = k.c(paramIntent, 0);
   aBu.aBw = k.c((byte[])localObject2, 0);
   com.tencent.mm.sdk.platformtools.t.i("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "notifyId: %d, sequence: %d", new Object[] { Integer.valueOf(aBu.aBv), Integer.valueOf(aBu.aBw) });
   a.hXQ.g((com.tencent.mm.sdk.c.d)localObject1);
   return;
   com.tencent.mm.sdk.platformtools.t.i("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "hy: notify test newyear shake");
   try
   {
     paramIntent = new er();
     i = ajsxhGQ;
     com.tencent.mm.sdk.platformtools.t.i("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "hy: test level: %d", new Object[] { Integer.valueOf(i) });
     aBr.aBs = i;
     a.hXQ.g(paramIntent);
     return;
   }
   catch (Exception paramIntent)
   {
     com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "hy: exception occurs when parsing : " + paramIntent.toString());
     return;
   }
   com.tencent.mm.sdk.platformtools.t.d("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "handleCommand, shoot netscene action");
   int i = paramIntent.getIntExtra("remote_netscene_funcid_key", 0);
   com.tencent.mm.sdk.platformtools.t.d("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "edw onReceive, funcId = " + i);
   if (i == 0)
   {
     com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "edw onReceive fail, funcId is 0");
     return;
   }
   paramIntent = paramIntent.getByteArrayExtra("remote_netscene_req_buffer_key");
   if (bn.J(paramIntent))
   {
     com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "onReceive, reqBuffer is null");
     return;
   }
   localObject1 = new dc();
   aza.azc = paramIntent;
   switch (i)
   {
   default: 
     com.tencent.mm.sdk.platformtools.t.e("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "onReceive fail, unknown type = " + i);
     return;
   case 444: 
     aza.avp = 0;
   }
   for (;;)
   {
     a.hXQ.g((com.tencent.mm.sdk.c.d)localObject1);
     com.tencent.mm.sdk.platformtools.t.d("!32@/B4Tb64lLpKcoq2tqqkpMh2WNrKeFFpl", "edw onReceive, ret = " + azb.auM);
     return;
     aza.avp = 1;
     continue;
     aza.avp = 2;
     continue;
     aza.avp = 3;
     continue;
     aza.avp = 4;
     continue;
     aza.avp = 5;
     continue;
     aza.avp = 6;
     continue;
     aza.avp = 7;
   }
 }
Exemple #28
0
  private Intent makeIntent(Map<String, Object> params) {
    Intent intent = new Intent();

    Object actionObj = params.get(HK_ACTION);
    Object categoriesObj = params.get(HK_CATEGORIES);
    Object appNameObj = params.get(HK_APP_NAME);
    Object targetClassObj = params.get(HK_TARGET_CLASS);
    Object uriObj = params.get(HK_URI);
    Object mimeObj = params.get(HK_MIME_TYPE);
    Object extrasObj = params.get(HK_DATA);

    String action = null;
    List<String> categories = null;
    String appName = null;
    String targetClass = null;
    String uri = null;
    String mime = null;
    Map<String, Object> extras = null;

    // --- Check param types ---

    if (actionObj != null) {
      if (!String.class.isInstance(actionObj)) {
        throw new RuntimeException("Wrong intent action: " + actionObj.toString());
      }
      action = constant((String) actionObj);
    }

    if (categoriesObj != null) {
      if (!List.class.isInstance(categoriesObj)) {
        throw new RuntimeException("Wrong intent categories: " + categoriesObj.toString());
      }
      categories = new ArrayList<String>();
      for (String cat : (List<String>) categoriesObj) {
        categories.add(constant(cat));
      }
    }

    if (appNameObj != null) {
      if (!String.class.isInstance(appNameObj)) {
        throw new RuntimeException("Wrong intent appName: " + appNameObj.toString());
      }
      appName = (String) appNameObj;
    }

    if (targetClassObj != null) {
      if (!String.class.isInstance(targetClassObj)) {
        throw new RuntimeException("Wrong intent targetClass: " + targetClassObj.toString());
      }
      targetClass = (String) targetClassObj;
    }

    if (uriObj != null) {
      if (!String.class.isInstance(uriObj)) {
        throw new RuntimeException("Wrong intent uri: " + uriObj.toString());
      }
      uri = (String) uriObj;
    }

    if (mimeObj != null) {
      if (!String.class.isInstance(mimeObj)) {
        throw new RuntimeException("Wrong intent mimeType: " + mimeObj.toString());
      }
      mime = (String) mimeObj;
    }

    if (extrasObj != null) {
      if (!Map.class.isInstance(extrasObj)) {
        throw new RuntimeException("Wrong intent data: " + extrasObj.toString());
      }
      extras = (Map<String, Object>) extrasObj;
    }

    // --- Fill intent fields ---

    if (action != null) {
      intent.setAction(action);
    }

    if (categories != null) {
      for (String category : categories) {
        intent.addCategory(category);
        if (intent.toString().contains(" xxx ") && isTablet(ContextFactory.getContext())) {
          intent.removeCategory(category);
        }
      }
    }

    if (targetClass != null) {
      if (appName == null) {
        throw new RuntimeException("Wrong intent appName: cannot be nil if targetClass is set");
      }
      intent.setClassName(appName, targetClass);
    } else if (appName != null) {
      intent.setPackage(appName);
    }

    if (uri != null) {
      Uri data = Uri.parse(uri);
      if (mime == null) {
        intent.setData(data);
      } else {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
          intent.setDataAndTypeAndNormalize(data, mime);
        } else {
          intent.setDataAndType(data, mime);
        }
      }
      intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_ACTIVITY_FORWARD_RESULT);
    } else if (mime != null) {
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
        intent.setTypeAndNormalize(mime);
      } else {
        intent.setType(mime);
      }
    }

    if (extras != null) {
      for (Map.Entry<String, Object> entry : extras.entrySet()) {

        if (String.class.isInstance(entry.getValue())) {
          intent.putExtra(constant(entry.getKey()), (String) entry.getValue());
        } else if (Boolean.class.isInstance(entry.getValue())) {
          intent.putExtra(constant(entry.getKey()), ((Boolean) entry.getValue()).booleanValue());
        } else if (Integer.class.isInstance(entry.getValue())) {
          intent.putExtra(constant(entry.getKey()), ((Integer) entry.getValue()).intValue());
        } else if (Double.class.isInstance(entry.getValue())) {
          intent.putExtra(constant(entry.getKey()), ((Double) entry.getValue()).doubleValue());
        } else if (ArrayList.class.isInstance(entry.getValue())) {
          ArrayList list = (ArrayList) entry.getValue();
          if (list.size() > 0) {
            if (String.class.isInstance(list.get(0))) {
              intent.putExtra(constant(entry.getKey()), list.toArray(new String[list.size()]));
            } else if (Integer.class.isInstance(list.get(0))) {
              intent.putExtra(constant(entry.getKey()), list.toArray(new Integer[list.size()]));
            } else {
              throw new RuntimeException(
                  "Wrong intent data: array of "
                      + list.get(0).getClass().getName()
                      + " is not supported as value");
            }
          } else {
            intent.putExtra(constant(entry.getKey()), new String[0]);
          }
        } else {
          throw new RuntimeException(
              "Wrong intent data: "
                  + entry.getValue().getClass().getName()
                  + " is not supported as value");
        }
      }
    }

    return intent;
  }
  @Override
  public void onReceive(final Context context, final Intent intent) {

    Log.i(TAG, "Received intent: " + intent.toString());

    String action = intent.getAction();
    String alert = intent.getStringExtra(EXTRA_ALERT);
    // note that the new urbanairship API deprecates the monolithic
    // string extra in favor of name/value pairs
    Set<String> extraKeys = intent.getExtras().keySet();

    if (action.equals(PushManager.ACTION_PUSH_RECEIVED)) {
      /*
       * UAirship has received a push notification which may or may not have
       * resulted in a system notification being placed with the Notification
       * Manager - check extras to determine what type of push it is we're
       * dealing with
       */
      if (extraKeys.contains(EXTRA_CONTACT_REQUEST_SENDER)) {
        // push is requesting contact exchange

        if (null != intent.getExtras() && null != intent.getExtras().getString(EXTRA_FORCE_START)) {
          // the app isn't active so there's no point firing our internal
          // intent - this will be handled when it's opened from the
          // notification manager
          Log.d(TAG, "deferring contact request while app not active.");
        } else {

          String sender = intent.getStringExtra(EXTRA_CONTACT_REQUEST_SENDER);

          // intent for RootActivity to pick up if running
          Intent i = new Intent();
          i.setAction(ACTION_CONTACT_EXCHANGE_REQUESTED);
          i.putExtra(EXTRA_ALERT, alert);
          i.putExtra(EXTRA_CONTACT_REQUEST_SENDER, sender);

          // fire away
          context.sendBroadcast(i);
        }

      } else if (extraKeys.contains(EXTRA_CONTACT_REQUEST_ACCEPTED_ID)
          && extraKeys.contains(EXTRA_CONTACT_REQUEST_ACCEPTED_NICK)) {
        // push is acknowledging accepted contact exchange request

        if (null != intent.getExtras().getString(EXTRA_FORCE_START)) {
          // the app isn't active so there's no point firing our internal
          // intent - this will be handled when it's opened from the
          // notification manager
          Log.d(TAG, "deferring contact acknowledgement while app not active.");
        } else {
          String cid = intent.getStringExtra(EXTRA_CONTACT_REQUEST_ACCEPTED_ID);
          String cname = intent.getStringExtra(EXTRA_CONTACT_REQUEST_ACCEPTED_NICK);

          // intent for RootActivity to pick up if running
          Intent i = new Intent();
          i.setAction(ACTION_CONTACT_EXCHANGE_ACCEPTED);
          i.putExtra(EXTRA_ALERT, alert);
          i.putExtra(EXTRA_CONTACT_REQUEST_ACCEPTED_ID, cid);
          i.putExtra(EXTRA_CONTACT_REQUEST_ACCEPTED_NICK, cname);

          // fire away
          context.sendBroadcast(i);
        }
      }
      logPushExtras(intent);

    } else if (action.equals(PushManager.ACTION_NOTIFICATION_OPENED)) {
      /*
       * UAirship has placed a notification with the notification manager
       * and we've opened it
       */
      Log.i(
          TAG,
          "User clicked notification. Message: "
              + intent.getStringExtra(PushManager.EXTRA_ALERT)
              + ". Payload: "
              + " + Extras: "
              + intent.getExtras().keySet().toString());

      if (null != intent.getExtras().getString(EXTRA_FORCE_START)) {
        /*
         *  we need to launch the app first, and then have it pick up
         *  the request to allow the user to complete the exchange
         */

        Intent i = new Intent(Intent.ACTION_MAIN);
        i.setClass(UAirship.shared().getApplicationContext(), ActivityLoginPage.class);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        if (extraKeys.contains(EXTRA_CONTACT_REQUEST_SENDER)) {
          i.putExtra(EXTRA_CONTACT_ACTION_PENDING, "true");
          String sender = intent.getStringExtra(EXTRA_CONTACT_REQUEST_SENDER);
          i.putExtra(EXTRA_ALERT, alert);
          i.putExtra(EXTRA_CONTACT_REQUEST_SENDER, sender);
        }

        UAirship.shared().getApplicationContext().startActivity(i);
      }

    } else if (action.equals(PushManager.ACTION_REGISTRATION_FINISHED)) {
      Log.i(
          TAG,
          "Registration complete. APID:"
              + intent.getStringExtra(PushManager.EXTRA_APID)
              + ". Valid: "
              + intent.getBooleanExtra(PushManager.EXTRA_REGISTRATION_VALID, false));
    }
  }
 @Override
 public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
   if (preference.getKey().equals(KEY_FIRMWARE_VERSION)) {
     System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
     mHits[mHits.length - 1] = SystemClock.uptimeMillis();
     if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {
       Intent intent = new Intent(Intent.ACTION_MAIN);
       intent.setClassName("android", com.android.internal.app.PlatLogoActivity.class.getName());
       try {
         startActivity(intent);
       } catch (Exception e) {
         Log.e(LOG_TAG, "Unable to start activity " + intent.toString());
       }
     }
   } else if (preference.getKey().equals(KEY_BUILD_NUMBER)) {
     // Only allow the owner of the device to turn on dev and performance options
     if (UserHandle.myUserId() == UserHandle.USER_OWNER) {
       if (mDevHitCountdown > 0) {
         mDevHitCountdown--;
         if (mDevHitCountdown == 0) {
           getActivity()
               .getSharedPreferences(DevelopmentSettings.PREF_FILE, Context.MODE_PRIVATE)
               .edit()
               .putBoolean(DevelopmentSettings.PREF_SHOW, true)
               .apply();
           if (mDevHitToast != null) {
             mDevHitToast.cancel();
           }
           mDevHitToast = Toast.makeText(getActivity(), R.string.show_dev_on, Toast.LENGTH_LONG);
           mDevHitToast.show();
         } else if (mDevHitCountdown > 0 && mDevHitCountdown < (TAPS_TO_BE_A_DEVELOPER - 2)) {
           if (mDevHitToast != null) {
             mDevHitToast.cancel();
           }
           mDevHitToast =
               Toast.makeText(
                   getActivity(),
                   getResources()
                       .getQuantityString(
                           R.plurals.show_dev_countdown, mDevHitCountdown, mDevHitCountdown),
                   Toast.LENGTH_SHORT);
           mDevHitToast.show();
         }
       } else if (mDevHitCountdown < 0) {
         if (mDevHitToast != null) {
           mDevHitToast.cancel();
         }
         mDevHitToast =
             Toast.makeText(getActivity(), R.string.show_dev_already, Toast.LENGTH_LONG);
         mDevHitToast.show();
       }
     }
   } else if (preference.getKey().equals(KEY_MOD_VERSION)) {
     System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
     mHits[mHits.length - 1] = SystemClock.uptimeMillis();
     if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {
       Intent intent = new Intent(Intent.ACTION_MAIN);
       intent.putExtra("is_cid", true);
       intent.setClassName("android", com.android.internal.app.PlatLogoActivity.class.getName());
       try {
         startActivity(intent);
       } catch (Exception e) {
         Log.e(LOG_TAG, "Unable to start activity " + intent.toString());
       }
     }
   }
   return super.onPreferenceTreeClick(preferenceScreen, preference);
 }