/* 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.ListView;
import android.widget.Toast;
import com.secupwn.aimsicd.R;
import com.secupwn.aimsicd.data.adapter.SmsDataAdapter;
import com.secupwn.aimsicd.data.model.SmsData;
import com.secupwn.aimsicd.utils.RealmHelper;
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.AndroidLogger;
import io.freefair.android.util.logging.Logger;
import io.realm.Realm;
import io.realm.RealmResults;
import static android.widget.Toast.LENGTH_SHORT;
@XmlLayout(R.layout.activity_advanced_sms_user)
public class AdvancedUserSmsActivity extends InjectionAppCompatActivity {
@Inject
private final Logger log = AndroidLogger.forClass(AdvancedUserSmsActivity.class);
@InjectView(R.id.listView_Adv_Sms_Activity)
ListView listViewAdv;
RealmHelper dbaccess;
private Realm realm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
realm = Realm.getDefaultInstance();
dbaccess = new RealmHelper(getApplicationContext());
RealmResults<SmsData> msgitems = realm.where(SmsData.class).findAllSorted("timestamp");
listViewAdv.setAdapter(new SmsDataAdapter(getApplicationContext(), msgitems, true));
listViewAdv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> a, View v, int position, long id) {
final SmsData smsData = (SmsData) listViewAdv.getItemAtPosition(position);
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
smsData.removeFromRealm();
}
});
Toast.makeText(a.getContext(), "Deleted Sms", LENGTH_SHORT).show();
return true;
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
realm.close();
}
}