package mobi.acpm.inspeckage.ui;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.ArrayList;
import java.util.List;
import mobi.acpm.inspeckage.Module;
import mobi.acpm.inspeckage.R;
import mobi.acpm.inspeckage.hooks.entities.BuildItem;
import mobi.acpm.inspeckage.hooks.entities.BuildList;
import mobi.acpm.inspeckage.util.Config;
public class SplashActivity extends AppCompatActivity {
private static int TIME_OUT = 2000;
private SharedPreferences mPrefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
mPrefs = getSharedPreferences(Module.PREFS, MODE_WORLD_READABLE);
loadBuild();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
}, TIME_OUT);
}
private void loadBuild(){
if(mPrefs.getString(Config.SP_BUILD_HOOKS,"").equals("")){
BuildList list = new BuildList();
List<BuildItem> li = new ArrayList<>();
li.add(new BuildItem("VERSION","RELEASE",Build.VERSION.RELEASE,Build.VERSION.RELEASE,false));
li.add(new BuildItem("VERSION","CODENAME",Build.VERSION.CODENAME,Build.VERSION.CODENAME,false));
li.add(new BuildItem("VERSION","INCREMENTAL",Build.VERSION.INCREMENTAL,Build.VERSION.INCREMENTAL,false));
li.add(new BuildItem("VERSION","SDK",Build.VERSION.SDK,Build.VERSION.SDK,false));
li.add(new BuildItem("VERSION","SDK_INT",String.valueOf(Build.VERSION.SDK_INT),String.valueOf(Build.VERSION.SDK_INT),false));
if (android.os.Build.VERSION.SDK_INT >= 23) {
li.add(new BuildItem("VERSION","BASE_OS",Build.VERSION.BASE_OS,Build.VERSION.BASE_OS,false));
li.add(new BuildItem("VERSION","PREVIEW_SDK_INT",String.valueOf(Build.VERSION.PREVIEW_SDK_INT),String.valueOf(Build.VERSION.PREVIEW_SDK_INT),false));
li.add(new BuildItem("VERSION","SECURITY_PATCH",Build.VERSION.SECURITY_PATCH,Build.VERSION.SECURITY_PATCH,false));
}
li.add(new BuildItem("BUILD","BOARD",Build.BOARD,Build.BOARD,false));
li.add(new BuildItem("BUILD","BOOTLOADER",Build.BOOTLOADER,Build.BOOTLOADER,false));
li.add(new BuildItem("BUILD","BRAND",Build.BRAND,Build.BRAND,false));
li.add(new BuildItem("BUILD","CPU_ABI",Build.CPU_ABI,Build.CPU_ABI,false));
li.add(new BuildItem("BUILD","CPU_ABI2",Build.CPU_ABI2,Build.CPU_ABI2,false));
li.add(new BuildItem("BUILD","DEVICE",Build.DEVICE,Build.DEVICE,false));
li.add(new BuildItem("BUILD","DISPLAY",Build.DISPLAY,Build.DISPLAY,false));
li.add(new BuildItem("BUILD","FINGERPRINT",Build.FINGERPRINT,Build.FINGERPRINT,false));
li.add(new BuildItem("BUILD","HARDWARE",Build.HARDWARE,Build.HARDWARE,false));
li.add(new BuildItem("BUILD","HOST",Build.HOST,Build.HOST,false));
li.add(new BuildItem("BUILD","ID",Build.ID,Build.ID,false));
li.add(new BuildItem("BUILD","MANUFACTURER",Build.MANUFACTURER,Build.MANUFACTURER,false));
li.add(new BuildItem("BUILD","MODEL",Build.MODEL,Build.MODEL,false));
li.add(new BuildItem("BUILD","PRODUCT",Build.PRODUCT,Build.PRODUCT,false));
li.add(new BuildItem("BUILD","RADIO",Build.RADIO,Build.RADIO,false));
li.add(new BuildItem("BUILD","SERIAL",Build.SERIAL,Build.SERIAL,false));
li.add(new BuildItem("BUILD","TAGS",Build.TAGS,Build.TAGS,false));
li.add(new BuildItem("BUILD","TYPE",Build.TYPE,Build.TYPE,false));
li.add(new BuildItem("BUILD","USER",Build.USER,Build.USER,false));
list.buildItems = li;
Gson gson = new GsonBuilder().create();
SharedPreferences.Editor editor = mPrefs.edit();
String json = gson.toJson(list);
Log.d("Inspeckage_DeviceData",json);
editor.putString(Config.SP_BUILD_HOOKS,json);
editor.apply();
}
}
}