Android Open Source - android-crackme-challenge Page Search






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.tasks;
/*w ww . ja  v  a 2  s.c om*/
import android.content.Context;
import android.os.AsyncTask;
import android.os.Vibrator;
import android.widget.Toast;

import com.reoky.crackme.challengethree.R;
import com.reoky.crackme.challengethree.fragments.ChallengeThreeFragment;
import com.reoky.crackme.challengethree.model.PageSearchBundle;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

/**
 * This class was implemented to search a page or multiple pages for a string
 * when you pass to it one or more PageSearchBundles
 * <ParamType, ProgressType, ResultType>
 */
public class PageSearch extends AsyncTask<PageSearchBundle, Void, PageSearchBundle> {

    /*
     * System calls this method on the background thread after onPreExecute()
     * which is not implemented/needed here
     */
    @Override
    protected PageSearchBundle doInBackground(PageSearchBundle... bundles) {
        Boolean result = false;

        for (PageSearchBundle bundle : bundles) {
            try {
                URL url = new URL(bundle.getUrl());
                URLConnection urlConnection = url.openConnection();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(
                        urlConnection.getInputStream(),
                        "UTF-8"
                ));

                StringBuilder pageContent = new StringBuilder();

                String line;
                while ((line = bufferedReader.readLine()) != null) {
                    pageContent.append(line);
                }

                bufferedReader.close();

                // Stop at the first match instead of wasting cpu cycles
                if (pageContent.toString().contains(bundle.getKeyword())) {
                    return bundle;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        // No bundles matched their keywords
        return null;
    }

    /*
     * System calls this method on the UI thread after background thread exits
     */
    @Override
    protected void onPostExecute(PageSearchBundle bundle) {
        super.onPostExecute(bundle);

        // Did a bundle match or did we just get null?
        if (bundle != null) {
            Context context = bundle.getContext();
            ChallengeThreeFragment.textPageContent.setText(context.getResources().getText(R.string.string_challenge_three_complete));
            ChallengeThreeFragment.textPageContent.setTextColor(context.getResources().getColor(R.color.color_nebula_light));

            Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
            vibrator.vibrate(1400);
            Toast.makeText(context, context.getResources().getText(R.string.string_challenge_three_complete_msg_zero), Toast.LENGTH_LONG).show();
            Toast.makeText(context, context.getResources().getText(R.string.string_challenge_three_complete_msg_one), Toast.LENGTH_LONG).show();
        }
    }
}




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