Example #1
0
  public void registerShake(final Activity mActivity) {
    final SharedPreferences sharedPref = mActivity.getPreferences(Context.MODE_PRIVATE);
    boolean neverShowAgain = sharedPref.getBoolean(NFeedbackSharedPrefKey.key, false);

    if (neverShowAgain) return;

    mNShakeListener = new NShakeListener(mActivity);
    mNShakeListener.setShakeSensitivity(2f);
    mNShakeListener.register(
        new OnNShakeListener() {

          private NFeedbackAskDialog mNFeedbackAskDialog;

          @Override
          public void onShake() {
            boolean neverShowAgain = sharedPref.getBoolean(NFeedbackSharedPrefKey.key, false);
            if (neverShowAgain) {
              unregisterShake();
              return;
            }

            if (mOnNFeedbackListener != null) {
              mOnNFeedbackListener.onShowAskDialog();
              return;
            }

            if (mNFeedbackAskDialog == null || !mNFeedbackAskDialog.isShowing()) {
              mNFeedbackAskDialog =
                  new NFeedbackAskDialog(
                      mActivity,
                      mNFeedbackOptions,
                      new OnNFeedbackAskDialogListener() {

                        @Override
                        public void onYes() {
                          mActivity.startActivity(new Intent(mActivity, NFeedbackActivity.class));
                        }
                      });
              mNFeedbackAskDialog.show();
            }
          }
        });
  }
Example #2
0
 /** Will unregister shakefeedback */
 public void unregisterShake() {
   if (mNShakeListener != null) mNShakeListener.unregister();
 }