Skip to content

Instantly share code, notes, and snippets.

@twstagg
Forked from archon810/BuildConfig.java
Created April 7, 2014 21:24
Show Gist options
  • Save twstagg/10060085 to your computer and use it in GitHub Desktop.
Save twstagg/10060085 to your computer and use it in GitHub Desktop.
package com.deviant.security.shield;
public final class BuildConfig {
public static final String BUILD_TYPE = "debug";
public static final boolean DEBUG;
public static final String FLAVOR = "";
public static final String PACKAGE_NAME = "com.deviant.security.shield";
public static final int VERSION_CODE = 4;
public static final String VERSION_NAME = "2.2";
static {
DEBUG = Boolean.parseBoolean("true");
}
}
package com.deviant.security.shield;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import com.deviant.security.shield.utility.NotificationHelper;
public class MainActivity extends ActionBarActivity {
public static final String PREFS_NAME = "ShieldPrefs";
public boolean isEnabled;
private Menu menu;
SharedPreferences settings;
public MainActivity() {
this.isEnabled = false;
}
private void toggleShield() {
ImageView enableButton = (ImageView) findViewById(R.id.enableButton);
boolean isEnabled = this.settings.getBoolean("isEnabled", false);
Editor editor = this.settings.edit();
MenuItem status = this.menu.findItem(R.id.action_status);
if (isEnabled) {
editor.putBoolean("isEnabled", false);
status.setTitle(R.string.action_status_disabled);
enableButton.setImageResource(R.drawable.shield_disabled);
} else {
editor.putBoolean("isEnabled", true);
status.setTitle(R.string.action_status_enabled);
enableButton.setImageResource(R.drawable.shield_enabled);
}
editor.commit();
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.settings = getSharedPreferences(PREFS_NAME, 0);
setContentView(R.layout.activity_main);
ImageView enableButton = (ImageView) findViewById(R.id.enableButton);
if (this.settings.getBoolean("isEnabled", false)) {
enableButton.setImageResource(R.drawable.shield_enabled);
} else {
enableButton.setImageResource(R.drawable.shield_disabled);
}
enableButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MainActivity.this.toggleShield();
}
});
new NotificationHelper(getApplicationContext()).createNotification();
}
public boolean onCreateOptionsMenu(Menu menu) {
this.menu = menu;
getMenuInflater().inflate(R.menu.main, menu);
boolean isEnabled = this.settings.getBoolean("isEnabled", false);
MenuItem status = menu.findItem(R.id.action_status);
if (isEnabled) {
status.setTitle(R.string.action_status_enabled);
} else {
status.setTitle(R.string.action_status_disabled);
}
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == 2131165246) {
return true;
} else {
if (id == 2131165245) {
toggleShield();
}
return super.onOptionsItemSelected(item);
}
}
}
package com.deviant.security.shield.utility;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat.Builder;
import com.deviant.security.shield.R;
public class NotificationHelper {
private int NOTIFICATION_ID;
private Builder mBuilder;
private PendingIntent mContentIntent;
private CharSequence mContentTitle;
private Context mContext;
private Notification mNotification;
private NotificationManager mNotificationManager;
public NotificationHelper(Context context) {
this.NOTIFICATION_ID = 1;
this.mContext = context;
}
public void createNotification() {
this.mNotificationManager = (NotificationManager) this.mContext.getSystemService("notification");
this.mBuilder = new Builder(this.mContext);
this.mBuilder.setContentTitle("Scan in progress").setContentText("Scanning for malicious content").setSmallIcon(R.drawable.shield_notification);
this.mBuilder.setContentInfo("0%");
this.mContentIntent = PendingIntent.getActivity(this.mContext, 0, new Intent(), 0);
this.mBuilder.setContentIntent(this.mContentIntent);
new Thread(new Runnable() {
public void run() {
int incr = 0;
while (incr <= 100) {
NotificationHelper.this.mBuilder.setContentInfo(incr + "%");
NotificationHelper.this.mBuilder.setProgress(100, incr, false);
NotificationHelper.this.mNotificationManager.notify(NotificationHelper.this.NOTIFICATION_ID, NotificationHelper.this.mBuilder.build());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
incr++;
}
NotificationHelper.this.mBuilder.setContentTitle("Scan complete");
NotificationHelper.this.mBuilder.setContentText("Your device is secure");
NotificationHelper.this.mBuilder.setProgress(0, 0, false);
NotificationHelper.this.mNotificationManager.notify(NotificationHelper.this.NOTIFICATION_ID, NotificationHelper.this.mBuilder.build());
}
}).start();
}
}
package com.deviant.security.shield;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ToggleButton;
public class Settings extends ActionBarActivity {
public static final String PREFS_NAME = "ShieldPrefs";
SharedPreferences settings;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.settings = getSharedPreferences(PREFS_NAME, 0);
setContentView(R.layout.activity_settings);
ToggleButton toggle1 = (ToggleButton) findViewById(R.id.toggle1);
if (this.settings.getBoolean("realtime", false)) {
toggle1.setChecked(true);
} else {
toggle1.setChecked(false);
}
ToggleButton toggle2 = (ToggleButton) findViewById(R.id.toggle2);
if (this.settings.getBoolean("scanning", false)) {
toggle2.setChecked(true);
return;
} else {
toggle2.setChecked(false);
}
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.settings, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
return item.getItemId() == 2131165250 ? true : super.onOptionsItemSelected(item);
}
public void toggleRealtime(View view) {
Editor editor = this.settings.edit();
ToggleButton toggle = (ToggleButton) findViewById(R.id.toggle1);
if (this.settings.getBoolean("realtime", false)) {
editor.putBoolean("realtime", false);
toggle.setChecked(false);
} else {
editor.putBoolean("realtime", true);
toggle.setChecked(true);
}
editor.commit();
}
public void toggleScanning(View view) {
Editor editor = this.settings.edit();
ToggleButton toggle = (ToggleButton) findViewById(R.id.toggle2);
if (this.settings.getBoolean("scanning", false)) {
editor.putBoolean("scanning", false);
toggle.setChecked(false);
} else {
editor.putBoolean("scanning", true);
toggle.setChecked(true);
}
editor.commit();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment