コード例 #1
0
  @Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_settings, container, false);

    mActivity = getActivity();
    init(mActivity.getIntent(), rootView);

    // setup ads
    initAds(mPref.isStandardOrHigher(), mBrowserShare.isValid());

    // setup listener

    mViewHelper
        .view(R.id.btn_settings_file_upload)
        .setOnClickListener(
            new OnClickListener() {
              @Override
              public void onClick(View v) {

                ApiSendFile apiRequest = new ApiSendFile();
                try {
                  IOUtil util = new IOUtil(IOUtil.ResType.ASSETS);
                  String html = util.getText(mActivity, "/html/jp/test_send.html");
                  Log.v(TAG, html);
                  apiRequest
                      .setParam(ApiSendFile.ParamBool.IMAGE_ENABLED, true)
                      .setParam(
                          ApiSendFile.ParamFile.File,
                          util.getStream(mActivity, "/html/jp/test_send.html"));
                } catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
                }
                DownloadWebpageTask.execute(
                    mActivity,
                    apiRequest,
                    new OnCompleteListener() {
                      @Override
                      public void onComplete(HttpRequestInterface httpRequest) {
                        String message = "";
                        if (httpRequest.getResponseCode() != 200) {
                          Log.v(
                              TAG,
                              "httpRequest.getResponseCode : " + httpRequest.getResponseCode());
                          message = mActivity.getString(R.string.tmpl_msg_sent_failed);
                          Util.showToast(
                              mActivity,
                              mActivity.getString(R.string.app_name) + " : " + message + "(100)");
                          return;
                        }

                        ApiSendFile apiRequest = (ApiSendFile) httpRequest;
                        if (!apiRequest.isApiSuccess()) {
                          Log.v(TAG, "送信失敗:" + apiRequest.getResponse());
                          message = mActivity.getString(R.string.tmpl_msg_sent_failed);
                          Util.showToast(
                              mActivity,
                              mActivity.getString(R.string.app_name) + " : " + message + "(101)");
                          return;
                        }

                        // 成功
                        message = mActivity.getString(R.string.tmpl_msg_sent);
                        Util.showToast(
                            mActivity, mActivity.getString(R.string.app_name) + " : " + message);
                        return;
                      }
                    });
              }
            });
    mViewHelper
        .view(R.id.btn_settings_alerm_on)
        .setOnClickListener(
            new OnClickListener() {
              @Override
              public void onClick(View v) {
                Alerm alerm = new Alerm(mActivity);
                alerm.addAlarm(9, 5);
              }
            });
    mViewHelper
        .view(R.id.btn_settings_alerm_off)
        .setOnClickListener(
            new OnClickListener() {
              @Override
              public void onClick(View v) {
                Alerm alerm = new Alerm(mActivity);
                alerm.stopAlarm();
              }
            });
    mViewHelper
        .view(R.id.btn_settings_feedly_stream)
        .setOnClickListener(
            new OnClickListener() {
              @Override
              public void onClick(View v) {
                StreamContentsApi apiRequest = new StreamContentsApi(mActivity);
                apiRequest
                    .setParam(ParamStr.STREAM_ID, apiRequest.createStreamId())
                    .setParam(ParamStr.COUNT, "2");
                DownloadWebpageTask.execute(
                    mActivity,
                    apiRequest,
                    new OnCompleteListener() {
                      @Override
                      public void onComplete(HttpRequestInterface httpRequest) {
                        StreamContentsApi api = ((StreamContentsApi) httpRequest);
                        api.paserResult();
                        api.getPostUrlList();
                        return;
                      }
                    });
              }
            });

    mViewHelper
        .view(R.id.btn_settings_feedly_oauth)
        .setOnClickListener(
            new OnClickListener() {
              @Override
              public void onClick(View v) {
                Intent intent = new Intent(mActivity, FragmentHostActivity.class);
                intent.putExtra("className", AuthenticationFragment.class.getName());
                mActivity.startActivity(intent);
                ;
              }
            });
    mViewHelper
        .view(R.id.tv_settings_title_step1)
        .setOnClickListener(
            new OnClickListener() {
              @Override
              public void onClick(View v) {
                // 隠しコマンド
                if (mClickCountReset > 20) {
                  KindlePreference pref = new KindlePreference(mActivity);
                  pref.set(KeyAuthorize.PLAN_STANDARD, false);
                  pref.set(KeyAuthorize.PLAN_PREMIUN, false);
                  mClickCountReset = 0;
                }
                mClickCountPremium = 1;
                mClickCountStandard = 1;
                mClickCountReset += 1;
              }
            });
    mViewHelper
        .view(R.id.tv_settings_title_step2)
        .setOnClickListener(
            new OnClickListener() {
              @Override
              public void onClick(View v) {
                // 隠しコマンド
                if (mClickCountStandard > 20) {
                  KindlePreference pref = new KindlePreference(mActivity);
                  pref.set(KeyAuthorize.PLAN_STANDARD, true);
                  mClickCountStandard = 0;
                }
                mClickCountPremium = 1;
                mClickCountStandard += 1;
                mClickCountReset = 1;
              }
            });
    mViewHelper
        .view(R.id.tv_settings_title_step3)
        .setOnClickListener(
            new OnClickListener() {
              @Override
              public void onClick(View v) {
                // 隠しコマンド
                if (mClickCountPremium > 20) {
                  KindlePreference pref = new KindlePreference(mActivity);
                  pref.set(KeyAuthorize.PLAN_PREMIUN, true);
                  mClickCountPremium = 0;
                }
                mClickCountPremium += 1;
                mClickCountStandard = 1;
                mClickCountReset = 1;
              }
            });
    mViewHelper.view(R.id.btn_settings_send).setOnClickListener(sendClickListener());
    mViewHelper.view(R.id.btn_settings_send_test).setOnClickListener(sendTestClickListener());
    mViewHelper
        .view(R.id.tv_settings_detail_approved)
        .setOnClickListener(
            new OnClickListener() {
              @Override
              public void onClick(View v) {
                AssetBrowserActivity.startBrowser(
                    mActivity, AssetBrowserActivity.PATH_CONFIRM_APPROVED_EMAIL);
              }
            });
    mViewHelper
        .view(R.id.tv_settings_detail_email)
        .setOnClickListener(
            new OnClickListener() {
              @Override
              public void onClick(View v) {
                AssetBrowserActivity.startBrowser(
                    mActivity, AssetBrowserActivity.PATH_CONFIRM_KINDLE_EMAIL);
              }
            });
    mViewHelper
        .checkBox(R.id.cb_settings_send_immediate)
        .setOnCheckedChangeListener(authorityCheckedChangeListener());
    mViewHelper
        .checkBox(R.id.cb_settings_no_image)
        .setOnCheckedChangeListener(authorityCheckedChangeListener());
    mViewHelper
        .checkBox(R.id.cb_settings_no_ads)
        .setOnCheckedChangeListener(authorityCheckedChangeListener());

    // setup in-app purchase
    mHelper = new IabHelper(mActivity, getString(R.string.app_public_key));
    mHelper.enableDebugLogging(Env.IS_DEV);

    // Start setup. This is asynchronous and the specified listener
    // will be called once setup completes.
    Log.d(TAG, "Starting setup.");
    mHelper.startSetup(
        new IabHelper.OnIabSetupFinishedListener() {
          @Override
          public void onIabSetupFinished(IabResult result) {
            Log.d(TAG, "Setup finished.");

            if (!result.isSuccess()) {
              // Oh noes, there was a problem.
              Util.alert(getActivity(), getString(R.string.billing_msg_setup_failed));
              Log.e(TAG, "**** TrivialDrive Error: " + result.toString());
              return;
            }

            // Have we been disposed of in the meantime? If so, quit.
            if (mHelper == null) return;

            // IAB is fully set up. Now, let's get an inventory of stuff we
            // own.
            Log.d(TAG, "Setup successful. Querying inventory.");
            mHelper.queryInventoryAsync(mGotInventoryListener);
          }
        });

    return rootView;
  }