/* Android IMSI-Catcher Detector | (c) AIMSICD Privacy Project
* -----------------------------------------------------------
* LICENSE: http://git.io/vki47 | TERMS: http://git.io/vki4o
* -----------------------------------------------------------
*/
/* Coded by Paul Kinsella <paulkinsella29@yahoo.ie> */
package com.secupwn.aimsicd.smsdetection;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.Toast;
import com.secupwn.aimsicd.R;
import com.secupwn.aimsicd.data.adapter.DetectionStringAdapter;
import com.secupwn.aimsicd.data.model.SmsDetectionString;
import io.freefair.android.injection.annotation.Inject;
import io.freefair.android.injection.annotation.InjectView;
import io.freefair.android.injection.annotation.XmlLayout;
import io.freefair.android.injection.app.InjectionAppCompatActivity;
import io.freefair.android.util.logging.Logger;
import io.realm.Realm;
import io.realm.RealmResults;
@XmlLayout(R.layout.activity_advanced_user)
public class AdvancedUserActivity extends InjectionAppCompatActivity {
@Inject
private Logger log;
@InjectView(R.id.listView_Adv_Activity)
private ListView listViewAdv;
@InjectView(R.id.btn_insert)
private Button insertButton;
@InjectView(R.id.edit_adv_user_string)
private EditText editAdvUserDet;
@InjectView(R.id.spinner)
private Spinner spinner;
private Realm realm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
realm = Realm.getDefaultInstance();
RealmResults<SmsDetectionString> msgItems = realm.allObjects(SmsDetectionString.class);
listViewAdv.setAdapter(new DetectionStringAdapter(this, msgItems, true));
listViewAdv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> a, View v, int position, long id) {
final SmsDetectionString detectionString = (SmsDetectionString) listViewAdv.getItemAtPosition(position);
String string = detectionString.getDetectionString();
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
detectionString.removeFromRealm();
}
});
Toast.makeText(getApplicationContext(),
getString(R.string.deleted) + ": " + string, Toast.LENGTH_SHORT).show();
return true;
}
});
insertButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (editAdvUserDet.getText().toString().contains("\"")) {
Toast.makeText(AdvancedUserActivity.this, R.string.double_quote_will_cause_db_error,
Toast.LENGTH_SHORT).show();
} else {
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
SmsDetectionString detectionString = realm.createObject(SmsDetectionString.class);
detectionString.setDetectionString(editAdvUserDet.getText().toString());
detectionString.setSmsType(spinner.getSelectedItem().toString());
Toast.makeText(AdvancedUserActivity.this, R.string.the_string_was_added_to_db,
Toast.LENGTH_SHORT).show();
}
});
}
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
realm.close();
}
}