Android Open Source - android-crackme-challenge Challenge Three Fragment






From Project

Back to project page android-crackme-challenge.

License

The source code is released under:

MIT License

If you think the Android project android-crackme-challenge listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.reoky.crackme.challengethree.fragments;
/*from   ww w  .  j  a  v a  2  s  .c  o  m*/
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;

import com.reoky.crackme.challengethree.R;
import com.reoky.crackme.challengethree.model.PageSearchBundle;
import com.reoky.crackme.challengethree.tasks.PageSearch;
import com.reoky.crackme.challengethree.listeners.ChallengeThreeFragmentOnClickListener;

public class ChallengeThreeFragment extends Fragment {

    private TextView textCountdown;
    private ProgressBar progressCircle;
    private Handler handler = new Handler();

    private double delay; // Delay for this attempt and starting value for the countdown
    public static int attempt; // The refresh attempt number (1..10)
    public static double countdown; // Counter until next attempt

    public static TextView textPageContent;

    public ChallengeThreeFragment() {}

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        progressCircle = (ProgressBar) getActivity().findViewById(R.id.progress_circle);
        textCountdown = (TextView) getActivity().findViewById(R.id.text_countdown);
        textPageContent = (TextView) getActivity().findViewById(R.id.text_page_content);

        // Kick off the runnable timer
        handler.postDelayed(runnable, 0);

        // Set a click handler for manual refreshing via tap
        LinearLayout progressContainer = (LinearLayout) getActivity().findViewById(R.id.progress_container);
        progressContainer.setOnClickListener(new ChallengeThreeFragmentOnClickListener());
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_challenge_three, container, false);
        return view;
    }

    @Override
    public void onPause() {
        super.onPause();
        handler.removeCallbacks(runnable);
    }

    Runnable runnable = new Runnable() {
        @Override
        public void run() {

            // Calculate the amount of time to wait before next refresh
            // 10ln((x^x) , 1 < x < 10
            if (countdown <= 0.0) {
                if (attempt < 10) { attempt++; }
                delay = 10.0 * (int) Math.log(Math.pow(attempt, attempt));
                countdown = delay;

                // The counter hit zero so we should kick off the AsyncTask that
                // searches rit.edu again
                new PageSearch().execute(new PageSearchBundle(
                        getActivity().getApplicationContext(),
                        getResources().getString(R.string.string_challenge_three_url),
                        getResources().getString(R.string.string_challenge_three_keyword)
                ));
            }

            // Set progress and TextView text
            textCountdown.setText(String.format("Next Try: %.1f", countdown));
            int percent = (int)(100 - (100.0 * countdown/delay));
            progressCircle.setProgress(percent);

            // Decrement countdown
            countdown = countdown - 0.1;
            handler.postDelayed(this, 100);
        }
    };

}




Java Source Code List

com.reoky.crackme.challengeeight.activities.ChallengeActivity.java
com.reoky.crackme.challengeeight.adaptors.ChallengePagerAdapter.java
com.reoky.crackme.challengeeight.fragments.AboutFragment.java
com.reoky.crackme.challengeeight.fragments.ChallengeEightFragment.java
com.reoky.crackme.challengeeight.fragments.HintFragment.java
com.reoky.crackme.challengeeight.listeners.AboutFragmentOnClickListener.java
com.reoky.crackme.challengeeight.listeners.ChallengeActivityOnPageChangeListener.java
com.reoky.crackme.challengeeight.listeners.ChallengeEightFragmentOnClickListener.java
com.reoky.crackme.challengeeight.listeners.HintFragmentOnCheckedChangeListener.java
com.reoky.crackme.challengefive.activities.ChallengeActivity.java
com.reoky.crackme.challengefive.adaptors.ChallengePagerAdapter.java
com.reoky.crackme.challengefive.fragments.AboutFragment.java
com.reoky.crackme.challengefive.fragments.ChallengeFiveFragment.java
com.reoky.crackme.challengefive.fragments.HintFragment.java
com.reoky.crackme.challengefive.listeners.AboutFragmentOnClickListener.java
com.reoky.crackme.challengefive.listeners.ChallengeActivityOnPageChangeListener.java
com.reoky.crackme.challengefive.listeners.ChallengeFiveFragmentOnClickListener.java
com.reoky.crackme.challengefive.listeners.HintFragmentOnCheckedChangeListener.java
com.reoky.crackme.challengefour.activities.ChallengeActivity.java
com.reoky.crackme.challengefour.adaptors.ChallengePagerAdapter.java
com.reoky.crackme.challengefour.fragments.AboutFragment.java
com.reoky.crackme.challengefour.fragments.ChallengeFourFragment.java
com.reoky.crackme.challengefour.fragments.HintFragment.java
com.reoky.crackme.challengefour.listeners.AboutFragmentOnClickListener.java
com.reoky.crackme.challengefour.listeners.ChallengeActivityOnPageChangeListener.java
com.reoky.crackme.challengefour.listeners.ChallengeFourFragmentOnClickListener.java
com.reoky.crackme.challengefour.listeners.HintFragmentOnCheckedChangeListener.java
com.reoky.crackme.challengenine.activities.ChallengeActivity.java
com.reoky.crackme.challengenine.adaptors.ChallengePagerAdapter.java
com.reoky.crackme.challengenine.fragments.AboutFragment.java
com.reoky.crackme.challengenine.fragments.ChallengeNineFragment.java
com.reoky.crackme.challengenine.fragments.HintFragment.java
com.reoky.crackme.challengenine.listeners.AboutFragmentOnClickListener.java
com.reoky.crackme.challengenine.listeners.ChallengeActivityOnPageChangeListener.java
com.reoky.crackme.challengenine.listeners.ChallengeNineFragmentOnClickListener.java
com.reoky.crackme.challengenine.listeners.HintFragmentOnCheckedChangeListener.java
com.reoky.crackme.challengeone.activities.ChallengeActivity.java
com.reoky.crackme.challengeone.adaptors.ChallengePagerAdapter.java
com.reoky.crackme.challengeone.fragments.AboutFragment.java
com.reoky.crackme.challengeone.fragments.ChallengeOneFragment.java
com.reoky.crackme.challengeone.fragments.HintFragment.java
com.reoky.crackme.challengeone.listeners.AboutFragmentOnClickListener.java
com.reoky.crackme.challengeone.listeners.ChallengeActivityOnPageChangeListener.java
com.reoky.crackme.challengeone.listeners.ChallengeOneFragmentOnClickListener.java
com.reoky.crackme.challengeone.listeners.HintFragmentOnCheckedChangeListener.java
com.reoky.crackme.challengeseven.activities.ChallengeActivity.java
com.reoky.crackme.challengeseven.adaptors.ChallengePagerAdapter.java
com.reoky.crackme.challengeseven.fragments.AboutFragment.java
com.reoky.crackme.challengeseven.fragments.ChallengeSevenFragment.java
com.reoky.crackme.challengeseven.fragments.HintFragment.java
com.reoky.crackme.challengeseven.listeners.AboutFragmentOnClickListener.java
com.reoky.crackme.challengeseven.listeners.ChallengeActivityOnPageChangeListener.java
com.reoky.crackme.challengeseven.listeners.ChallengeSevenFragmentOnClickListener.java
com.reoky.crackme.challengeseven.listeners.HintFragmentOnCheckedChangeListener.java
com.reoky.crackme.challengesix.activities.ChallengeActivity.java
com.reoky.crackme.challengesix.adaptors.ChallengePagerAdapter.java
com.reoky.crackme.challengesix.fragments.AboutFragment.java
com.reoky.crackme.challengesix.fragments.ChallengeSixFragment.java
com.reoky.crackme.challengesix.fragments.HintFragment.java
com.reoky.crackme.challengesix.listeners.AboutFragmentOnClickListener.java
com.reoky.crackme.challengesix.listeners.ChallengeActivityOnPageChangeListener.java
com.reoky.crackme.challengesix.listeners.ChallengeSixFragmentOnClickListener.java
com.reoky.crackme.challengesix.listeners.HintFragmentOnCheckedChangeListener.java
com.reoky.crackme.challengeten.activities.ChallengeActivity.java
com.reoky.crackme.challengeten.adaptors.ChallengePagerAdapter.java
com.reoky.crackme.challengeten.fragments.AboutFragment.java
com.reoky.crackme.challengeten.fragments.ChallengeTenFragment.java
com.reoky.crackme.challengeten.fragments.HintFragment.java
com.reoky.crackme.challengeten.listeners.AboutFragmentOnClickListener.java
com.reoky.crackme.challengeten.listeners.ChallengeActivityOnPageChangeListener.java
com.reoky.crackme.challengeten.listeners.ChallengeTenFragmentOnClickListener.java
com.reoky.crackme.challengeten.listeners.HintFragmentOnCheckedChangeListener.java
com.reoky.crackme.challengethree.activities.ChallengeActivity.java
com.reoky.crackme.challengethree.adaptors.ChallengePagerAdapter.java
com.reoky.crackme.challengethree.fragments.AboutFragment.java
com.reoky.crackme.challengethree.fragments.ChallengeThreeFragment.java
com.reoky.crackme.challengethree.fragments.HintFragment.java
com.reoky.crackme.challengethree.listeners.AboutFragmentOnClickListener.java
com.reoky.crackme.challengethree.listeners.ChallengeActivityOnPageChangeListener.java
com.reoky.crackme.challengethree.listeners.ChallengeThreeFragmentOnClickListener.java
com.reoky.crackme.challengethree.listeners.HintFragmentOnCheckedChangeListener.java
com.reoky.crackme.challengethree.model.PageSearchBundle.java
com.reoky.crackme.challengethree.tasks.PageSearch.java
com.reoky.crackme.challengetwo.activities.ChallengeActivity.java
com.reoky.crackme.challengetwo.adaptors.ChallengePagerAdapter.java
com.reoky.crackme.challengetwo.fragments.AboutFragment.java
com.reoky.crackme.challengetwo.fragments.ChallengeTwoFragment.java
com.reoky.crackme.challengetwo.fragments.HintFragment.java
com.reoky.crackme.challengetwo.listeners.AboutFragmentOnClickListener.java
com.reoky.crackme.challengetwo.listeners.ChallengeActivityOnPageChangeListener.java
com.reoky.crackme.challengetwo.listeners.ChallengeTwoFragmentOnClickListener.java
com.reoky.crackme.challengetwo.listeners.HintFragmentOnCheckedChangeListener.java
com.reoky.crackme.challengetwo.util.Digest.java