@Override
 public void reloadPreferences() {
   super.reloadPreferences();
   if (mPopup != null) {
     mPopup.reloadPreference();
   }
 }
 @Override
 public void overrideSettings(final String... keyvalues) {
   super.overrideSettings(keyvalues);
   if (mPopup == null || mPopupStatus != POPUP_FIRST_LEVEL) {
     mPopupStatus = POPUP_FIRST_LEVEL;
     initializePopup();
   }
   ((MoreSettingPopup) mPopup).overrideSettings(keyvalues);
 }
 @Override
 // Hit when an item in the second-level popup gets selected
 public void onListPrefChanged(ListPreference pref) {
   if (mPopup != null) {
     if (mPopupStatus == POPUP_SECOND_LEVEL) {
       mModule.dismissPopup(true);
     }
   }
   super.onSettingChanged(pref);
 }
예제 #4
0
 @Override
 public void onSettingChanged(ListPreference pref) {
   // Reset the scene mode if HDR is set to on. Reset HDR if scene mode is
   // set to non-auto.
   if (notSame(pref, CameraSettings.KEY_CAMERA_HDR, mSettingOff)) {
     setPreference(CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO);
   } else if (notSame(pref, CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO)) {
     setPreference(CameraSettings.KEY_CAMERA_HDR, mSettingOff);
   }
   super.onSettingChanged(pref);
 }
  public void initialize(PreferenceGroup group) {
    super.initialize(group);
    mPopup = null;
    mPopupStatus = POPUP_NONE;
    float sweep = FLOAT_PI_DIVIDED_BY_TWO / 2;

    addItem(CameraSettings.KEY_VIDEOCAMERA_FLASH_MODE, FLOAT_PI_DIVIDED_BY_TWO - sweep, sweep);
    addItem(CameraSettings.KEY_WHITE_BALANCE, 3 * FLOAT_PI_DIVIDED_BY_TWO + sweep, sweep);
    PieItem item = makeItem(R.drawable.ic_switch_video_facing_holo_light);
    item.setFixedSlice(FLOAT_PI_DIVIDED_BY_TWO + sweep, sweep);
    item.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(PieItem item) {
            // Find the index of next camera.
            ListPreference pref = mPreferenceGroup.findPreference(CameraSettings.KEY_CAMERA_ID);
            if (pref != null) {
              int index = pref.findIndexOfValue(pref.getValue());
              CharSequence[] values = pref.getEntryValues();
              index = (index + 1) % values.length;
              int newCameraId = Integer.parseInt((String) values[index]);
              mListener.onCameraPickerClicked(newCameraId);
            }
          }
        });
    mRenderer.addItem(item);
    mOtherKeys =
        new String[] {
          CameraSettings.KEY_VIDEO_EFFECT,
          CameraSettings.KEY_VIDEO_TIME_LAPSE_FRAME_INTERVAL,
          CameraSettings.KEY_VIDEO_QUALITY,
          CameraSettings.KEY_RECORD_LOCATION
        };

    item = makeItem(R.drawable.ic_settings_holo_light);
    item.setFixedSlice(FLOAT_PI_DIVIDED_BY_TWO * 3, sweep);
    item.setOnClickListener(
        new OnClickListener() {
          @Override
          public void onClick(PieItem item) {
            if (mPopup == null || mPopupStatus != POPUP_FIRST_LEVEL) {
              initializePopup();
              mPopupStatus = POPUP_FIRST_LEVEL;
            }
            mModule.showPopup(mPopup);
          }
        });
    mRenderer.addItem(item);
  }
예제 #6
0
  public void initialize(PreferenceGroup group) {
    super.initialize(group);
    mPopup = null;
    PieItem item = null;
    final Resources res = mActivity.getResources();
    Locale locale = res.getConfiguration().locale;
    // The order is from left to right in the menu.

    // HDR+ (GCam).
    if (group.findPreference(CameraSettings.KEY_CAMERA_HDR_PLUS) != null) {
      item = makeSwitchItem(CameraSettings.KEY_CAMERA_HDR_PLUS, true);
      mRenderer.addItem(item);
    }

    // HDR.
    if (group.findPreference(CameraSettings.KEY_CAMERA_HDR) != null) {
      item = makeSwitchItem(CameraSettings.KEY_CAMERA_HDR, true);
      mRenderer.addItem(item);
    }
    // Exposure compensation.
    if (group.findPreference(CameraSettings.KEY_EXPOSURE) != null) {
      item = makeItem(CameraSettings.KEY_EXPOSURE);
      item.setLabel(res.getString(R.string.pref_exposure_label));
      mRenderer.addItem(item);
    }
    // More settings.
    PieItem more = makeItem(R.drawable.ic_settings_holo_light);
    more.setLabel(res.getString(R.string.camera_menu_more_label));
    mRenderer.addItem(more);

    // Flash.
    if (group.findPreference(CameraSettings.KEY_FLASH_MODE) != null) {
      item = makeItem(CameraSettings.KEY_FLASH_MODE);
      item.setLabel(res.getString(R.string.pref_camera_flashmode_label));
      mRenderer.addItem(item);
    }
    // Camera switcher.
    if (group.findPreference(CameraSettings.KEY_CAMERA_ID) != null) {
      item = makeSwitchItem(CameraSettings.KEY_CAMERA_ID, false);
      final PieItem fitem = item;
      item.setOnClickListener(
          new OnClickListener() {
            @Override
            public void onClick(PieItem item) {
              // Find the index of next camera.
              ListPreference pref = mPreferenceGroup.findPreference(CameraSettings.KEY_CAMERA_ID);
              if (pref != null) {
                int index = pref.findIndexOfValue(pref.getValue());
                CharSequence[] values = pref.getEntryValues();
                index = (index + 1) % values.length;
                pref.setValueIndex(index);
                mListener.onCameraPickerClicked(index);
              }
              updateItem(fitem, CameraSettings.KEY_CAMERA_ID);
            }
          });
      mRenderer.addItem(item);
    }
    // Location.
    if (group.findPreference(CameraSettings.KEY_RECORD_LOCATION) != null) {
      item = makeSwitchItem(CameraSettings.KEY_RECORD_LOCATION, true);
      more.addItem(item);
      if (mActivity.isSecureCamera()) {
        // Prevent location preference from getting changed in secure camera mode
        item.setEnabled(false);
      }
    }
    // Countdown timer.
    final ListPreference ctpref = group.findPreference(CameraSettings.KEY_TIMER);
    final ListPreference beeppref = group.findPreference(CameraSettings.KEY_TIMER_SOUND_EFFECTS);
    item = makeItem(R.drawable.ic_timer);
    item.setLabel(res.getString(R.string.pref_camera_timer_title).toUpperCase(locale));
    item.setOnClickListener(
        new OnClickListener() {
          @Override
          public void onClick(PieItem item) {
            CountdownTimerPopup timerPopup =
                (CountdownTimerPopup)
                    mActivity
                        .getLayoutInflater()
                        .inflate(R.layout.countdown_setting_popup, null, false);
            timerPopup.initialize(ctpref, beeppref);
            timerPopup.setSettingChangedListener(PhotoMenu.this);
            mUI.dismissPopup();
            mPopup = timerPopup;
            mUI.showPopup(mPopup);
          }
        });
    more.addItem(item);
    // Image size.
    item = makeItem(R.drawable.ic_imagesize);
    final ListPreference sizePref = group.findPreference(CameraSettings.KEY_PICTURE_SIZE);
    item.setLabel(res.getString(R.string.pref_camera_picturesize_title).toUpperCase(locale));
    item.setOnClickListener(
        new OnClickListener() {
          @Override
          public void onClick(PieItem item) {
            ListPrefSettingPopup popup =
                (ListPrefSettingPopup)
                    mActivity
                        .getLayoutInflater()
                        .inflate(R.layout.list_pref_setting_popup, null, false);
            popup.initialize(sizePref);
            popup.setSettingChangedListener(PhotoMenu.this);
            mUI.dismissPopup();
            mPopup = popup;
            mUI.showPopup(mPopup);
          }
        });
    more.addItem(item);
    // White balance.
    if (group.findPreference(CameraSettings.KEY_WHITE_BALANCE) != null) {
      item = makeItem(CameraSettings.KEY_WHITE_BALANCE);
      item.setLabel(res.getString(R.string.pref_camera_whitebalance_label));
      more.addItem(item);
    }
    // Scene mode.
    if (group.findPreference(CameraSettings.KEY_SCENE_MODE) != null) {
      IconListPreference pref =
          (IconListPreference) group.findPreference(CameraSettings.KEY_SCENE_MODE);
      pref.setUseSingleIcon(true);
      item = makeItem(CameraSettings.KEY_SCENE_MODE);
      more.addItem(item);
    }
  }
 public void initialize(PreferenceGroup group) {
   super.initialize(group);
   mPopup = null;
   mSecondPopup = null;
   float sweep = FLOAT_PI_DIVIDED_BY_TWO / 2;
   addItem(CameraSettings.KEY_FLASH_MODE, FLOAT_PI_DIVIDED_BY_TWO - sweep, sweep);
   addItem(CameraSettings.KEY_EXPOSURE, 3 * FLOAT_PI_DIVIDED_BY_TWO - sweep, sweep);
   addItem(CameraSettings.KEY_WHITE_BALANCE, 3 * FLOAT_PI_DIVIDED_BY_TWO + sweep, sweep);
   if (group.findPreference(CameraSettings.KEY_CAMERA_ID) != null) {
     PieItem item = makeItem(R.drawable.ic_switch_photo_facing_holo_light);
     item.setFixedSlice(FLOAT_PI_DIVIDED_BY_TWO + sweep, sweep);
     item.setOnClickListener(
         new OnClickListener() {
           @Override
           public void onClick(PieItem item) {
             // Find the index of next camera.
             ListPreference camPref =
                 mPreferenceGroup.findPreference(CameraSettings.KEY_CAMERA_ID);
             if (camPref != null) {
               int index = camPref.findIndexOfValue(camPref.getValue());
               CharSequence[] values = camPref.getEntryValues();
               index = (index + 1) % values.length;
               int newCameraId = Integer.parseInt((String) values[index]);
               mListener.onCameraPickerClicked(newCameraId);
             }
           }
         });
     mRenderer.addItem(item);
   }
   if (group.findPreference(CameraSettings.KEY_CAMERA_HDR) != null) {
     PieItem hdr = makeItem(R.drawable.ic_hdr);
     hdr.setFixedSlice(FLOAT_PI_DIVIDED_BY_TWO, sweep);
     hdr.setOnClickListener(
         new OnClickListener() {
           @Override
           public void onClick(PieItem item) {
             // Find the index of next camera.
             ListPreference pref = mPreferenceGroup.findPreference(CameraSettings.KEY_CAMERA_HDR);
             if (pref != null) {
               // toggle hdr value
               int index = (pref.findIndexOfValue(pref.getValue()) + 1) % 2;
               pref.setValueIndex(index);
               onSettingChanged(pref);
             }
           }
         });
     mRenderer.addItem(hdr);
   }
   mOtherKeys =
       new String[] {
         CameraSettings.KEY_SCENE_MODE,
         CameraSettings.KEY_RECORD_LOCATION,
         CameraSettings.KEY_POWER_SHUTTER,
         CameraSettings.KEY_PICTURE_SIZE,
         CameraSettings.KEY_FOCUS_MODE,
         CameraSettings.KEY_FOCUS_TIME,
         CameraSettings.KEY_ISO_MODE,
         CameraSettings.KEY_JPEG,
         CameraSettings.KEY_COLOR_EFFECT,
         CameraSettings.KEY_BURST_MODE
       };
   PieItem item = makeItem(R.drawable.ic_settings_holo_light);
   item.setFixedSlice(FLOAT_PI_DIVIDED_BY_TWO * 3, sweep);
   item.setOnClickListener(
       new OnClickListener() {
         @Override
         public void onClick(PieItem item) {
           if (mPopup == null) {
             initializePopup();
           }
           mModule.showPopup(mPopup);
         }
       });
   mRenderer.addItem(item);
 }
 @Override
 public void overrideSettings(final String... keyvalues) {
   super.overrideSettings(keyvalues);
   if (mPopup == null) initializePopup();
   mPopup.overrideSettings(keyvalues);
 }