Ejemplo n.º 1
1
  /**
   * Collect arrays and put them together
   *
   * @param t
   * @param ids
   * @param c
   * @param u uri indices; could be zero, IMPOSSIBLE_INDEX will be used
   */
  private void generateItemMapping(Intent intent) {

    // Read the mapping data
    int[] viewTypes = intent.getIntArrayExtra(LauncherIntent.Extra.Scroll.Mapping.EXTRA_VIEW_TYPES);
    int[] viewIds = intent.getIntArrayExtra(LauncherIntent.Extra.Scroll.Mapping.EXTRA_VIEW_IDS);
    int[] cursorIndices =
        intent.getIntArrayExtra(LauncherIntent.Extra.Scroll.Mapping.EXTRA_CURSOR_INDICES);
    int[] defaultResources =
        intent.getIntArrayExtra(LauncherIntent.Extra.Scroll.Mapping.EXTRA_DEFAULT_RESOURCES);
    boolean[] viewClickable =
        intent.getBooleanArrayExtra(LauncherIntent.Extra.Scroll.Mapping.EXTRA_VIEW_CLICKABLE);

    // Check
    if (viewTypes == null || viewIds == null || cursorIndices == null)
      throw (new IllegalArgumentException("A mapping component is missing"));

    if (viewTypes.length == viewIds.length && viewTypes.length == cursorIndices.length) {
    } else throw (new IllegalArgumentException("Mapping inconsistent"));

    // Init mapping array
    final int size = viewTypes.length;
    mItemMappings = new ItemMapping[size];
    for (int i = size - 1; i >= 0; i--)
      mItemMappings[i] = new ItemMapping(viewTypes[i], viewIds[i], cursorIndices[i]);

    // Put extra data in if they are available
    if (viewClickable != null && viewClickable.length == size)
      for (int i = size - 1; i >= 0; i--) mItemMappings[i].clickable = viewClickable[i];

    if (defaultResources != null && defaultResources.length == size)
      for (int i = size - 1; i >= 0; i--) mItemMappings[i].defaultResource = defaultResources[i];
  }
  // 从设置闹钟周期Activity返回的数据
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE && resultCode == WeekRepeatActivity.RESULT_CODE) {
      param.setRepeat(data.getBooleanArrayExtra("repeat"));
      clockCircleButton.setText("闹钟周期:" + param.getRepeatInfo(param.getRepeat()));
    }
    if (requestCode == REQUEST_CODE && resultCode == SelectMusicActivity.RESULT_CODE) {

      String path = data.getExtras().getString("path");
      param.setAudiotype(path);
      String[] name = path.split("/");
      System.out.println("return ring" + path + " name " + name[name.length - 1]);
      musicButton.setText("铃声:" + name[name.length - 1]);
    }
  }
Ejemplo n.º 3
0
  @Override
  public void onReceive(Context context, Intent intent) {
    Log.i("AlarmReceiver:onReceive", "|" + "============ receive" + "|");

    boolean[] week = intent.getBooleanArrayExtra("weekday");
    Log.i("AlarmReceiver:onReceive", "|일 : " + week[Calendar.SUNDAY]);
    Log.i("AlarmReceiver:onReceive", "|월 : " + week[Calendar.MONDAY]);
    Log.i("AlarmReceiver:onReceive", "|화 : " + week[Calendar.TUESDAY]);
    Log.i("AlarmReceiver:onReceive", "|수 : " + week[Calendar.WEDNESDAY]);
    Log.i("AlarmReceiver:onReceive", "|목 : " + week[Calendar.THURSDAY]);
    Log.i("AlarmReceiver:onReceive", "|금 : " + week[Calendar.FRIDAY]);
    Log.i("AlarmReceiver:onReceive", "|토 : " + week[Calendar.SATURDAY]);

    Calendar cal = Calendar.getInstance();
    Log.i("AlarmReceiver:onReceive", "|" + cal.get(Calendar.DAY_OF_WEEK) + "|");
    // 오늘 요일의 알람 재생이 true이면 사운드 재생

    if (!week[cal.get(Calendar.DAY_OF_WEEK)]) return;

    File file = new File(intent.getStringExtra("file"));
    Log.i("AlarmReceiver:onReceive", "|" + file.toString() + "|");

    MediaPlayer player = new MediaPlayer();
    player.setOnPreparedListener(
        new MediaPlayer.OnPreparedListener() {
          @Override
          public void onPrepared(MediaPlayer mp) {
            mp.start();
          }
        });
    try {
      player.setDataSource(file.toString());
      player.prepare();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }