com.prey.activities.WelcomeBatchActivity.java Source code

Java tutorial

Introduction

Here is the source code for com.prey.activities.WelcomeBatchActivity.java

Source

/*******************************************************************************
 * Created by Carlos Yaconi
 * Copyright 2015 Prey Inc. All rights reserved.
 * License: GPLv3
 * Full license at "/LICENSE"
 ******************************************************************************/
package com.prey.activities;

import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Window;

import android.os.AsyncTask;

import com.prey.PreyAccountData;
import com.prey.PreyConfig;
import com.prey.PreyLogger;
import com.prey.PreyUtils;
import com.prey.PreyVerify;
import com.prey.R;
import com.prey.backwardcompatibility.FroyoSupport;
import com.prey.exceptions.PreyException;
import com.prey.net.PreyWebServices;

public class WelcomeBatchActivity extends FragmentActivity {

    private String error = null;

    @Override
    public void onResume() {
        PreyLogger.i("onResume of WelcomeBatchActivity");
        super.onResume();

    }

    @Override
    public void onPause() {
        PreyLogger.i("onPause of WelcomeBatchActivity");
        super.onPause();
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        setContentView(R.layout.welcomebatch);

        menu();
        installBatch();

    }

    public void menu() {
        PreyLogger.i("menu ready:" + PreyConfig.getPreyConfig(this).getProtectReady());

        String email = PreyConfig.getPreyConfig(this).getEmail();
        if (email == null || "".equals(email)) {
            PreyConfig.getPreyConfig(this).setProtectReady(false);
            PreyConfig.getPreyConfig(this).setProtectAccount(false);
            PreyConfig.getPreyConfig(this).setProtectTour(false);
        }
    }

    private void installBatch() {
        error = null;
        PreyConfig config = PreyConfig.getPreyConfig(this);
        new AddDeviceToApiKeyBatch().execute(config.getApiKeyBatch(), config.getEmailBatch(),
                PreyUtils.getDeviceType(this));
    }

    private class AddDeviceToApiKeyBatch extends AsyncTask<String, Void, Void> {
        @Override
        protected void onPreExecute() {

        }

        @Override
        protected Void doInBackground(String... data) {
            try {
                error = null;
                Context ctx = getApplicationContext();

                if (!PreyConfig.getPreyConfig(ctx).isThisDeviceAlreadyRegisteredWithPrey()) {
                    PreyAccountData accountData = PreyWebServices.getInstance()
                            .registerNewDeviceWithApiKeyEmail(ctx, data[0], data[1], data[2]);
                    PreyConfig.getPreyConfig(ctx).saveAccount(accountData);
                }

            } catch (PreyException e) {
                error = e.getMessage();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void unused) {
            if (error == null) {
                String message = getString(R.string.device_added_congratulations_text);
                Bundle bundle = new Bundle();
                bundle.putString("message", message);
                PreyConfig.getPreyConfig(WelcomeBatchActivity.this).setCamouflageSet(true);
                Intent intent = new Intent(WelcomeBatchActivity.this, PermissionInformationActivity.class);
                intent.putExtras(bundle);
                startActivity(intent);

                finish();
            }
        }
    }

}