Skip to content

Commit

Permalink
Merge pull request #55 from xLaMbChOpSx/master
Browse files Browse the repository at this point in the history
Default Icon Prefernce, Huge UI Update & NPE Fix
  • Loading branch information
xLaMbChOpSx committed May 3, 2014
2 parents 7dc98f3 + 7caa98b commit 07f89f4
Show file tree
Hide file tree
Showing 10 changed files with 837 additions and 570 deletions.
155 changes: 53 additions & 102 deletions app/src/main/java/com/SecUpwN/AIMSICD/AIMSICD.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

package com.SecUpwN.AIMSICD;

import android.app.Activity;

import android.app.AlertDialog;
import android.content.ComponentName;
import android.content.Context;
Expand All @@ -33,13 +33,22 @@
import android.os.Bundle;
import android.os.Environment;
import android.os.IBinder;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.telephony.TelephonyManager;
import android.text.format.Time;
import android.util.Log;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
Expand All @@ -60,14 +69,18 @@
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;

import au.com.bytecode.opencsv.CSVReader;

public class AIMSICD extends Activity {
public class AIMSICD extends FragmentActivity {

private final String TAG = "AIMSICD";

private MyFragmentPagerAdapter mMyFragmentPagerAdapter;
private ViewPager mViewPager;

private final Context mContext = this;
private boolean mBound;
private SharedPreferences prefs;
Expand All @@ -86,14 +99,18 @@ public class AIMSICD extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setContentView(R.layout.top);

// Bind to LocalService
Intent intent = new Intent(this, AimsicdService.class);
//Start Service before binding to keep it resident when activity is destroyed
startService(intent);
bindService(intent, mConnection, Context.BIND_AUTO_CREATE);

mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager)findViewById(R.id.viewPager);
mViewPager.setAdapter(mMyFragmentPagerAdapter);

prefs = mContext.getSharedPreferences(
AimsicdService.SHARED_PREFERENCES_BASENAME, 0);

Expand Down Expand Up @@ -159,7 +176,6 @@ public void onServiceConnected(ComponentName name, IBinder service) {
// We've bound to LocalService, cast the IBinder and get LocalService instance
mAimsicdService = ((AimsicdService.AimscidBinder) service).getService();
mBound = true;
updateUI();
}

@Override
Expand All @@ -172,103 +188,9 @@ public void onServiceDisconnected(ComponentName arg0) {
@Override
public void onResume() {
super.onResume();
updateUI();
invalidateOptionsMenu();
}

private void updateUI() {
TextView content;
TableLayout tableLayout;
TableRow tr;
if (mBound) {
int netID = mAimsicdService.getNetID(true);
switch (mAimsicdService.getPhoneID())
{
case TelephonyManager.PHONE_TYPE_GSM: {
tableLayout = (TableLayout) findViewById(R.id.cdmaView);
tableLayout.setVisibility(View.INVISIBLE);
tr = (TableRow) findViewById(R.id.gsm_cellid);
tr.setVisibility(View.VISIBLE);
content = (TextView) findViewById(R.id.network_lac);
content.setText(mAimsicdService.getLAC(true));
content = (TextView) findViewById(R.id.network_cellid);
content.setText(mAimsicdService.getCellId());
break;
}
case TelephonyManager.PHONE_TYPE_CDMA:
{
tableLayout = (TableLayout) findViewById(R.id.cdmaView);
tableLayout.setVisibility(View.VISIBLE);
tr = (TableRow) findViewById(R.id.gsm_cellid);
tr.setVisibility(View.INVISIBLE);
content = (TextView) findViewById(R.id.network_netid);
content.setText(mAimsicdService.getLAC(true));
content = (TextView) findViewById(R.id.network_sysid);
content.setText(mAimsicdService.getSID());
content = (TextView) findViewById(R.id.network_baseid);
content.setText(mAimsicdService.getCellId());
break;
}
}

if (mAimsicdService.getNetID(true) == TelephonyManager.NETWORK_TYPE_LTE) {
content = (TextView) findViewById(R.id.network_lte_timing_advance);
content.setText(mAimsicdService.getLteTimingAdvance());
tr = (TableRow) findViewById(R.id.lte_timing_advance);
tr.setVisibility(View.VISIBLE);
} else {
tr = (TableRow) findViewById(R.id.lte_timing_advance);
tr.setVisibility(View.GONE);
}

content = (TextView) findViewById(R.id.sim_country);
content.setText(mAimsicdService.getSimCountry(false));
content = (TextView) findViewById(R.id.sim_operator_id);
content.setText(mAimsicdService.getSimOperator(false));
content = (TextView) findViewById(R.id.sim_operator_name);
content.setText(mAimsicdService.getSimOperatorName(false));
content = (TextView) findViewById(R.id.sim_imsi);
content.setText(mAimsicdService.getSimSubs(false));
content = (TextView) findViewById(R.id.sim_serial);
content.setText(mAimsicdService.getSimSerial(false));


content = (TextView) findViewById(R.id.device_type);
content.setText(mAimsicdService.getPhoneType(false));
content = (TextView) findViewById(R.id.device_imei);
content.setText(mAimsicdService.getIMEI(false));
content = (TextView) findViewById(R.id.device_version);
content.setText(mAimsicdService.getIMEIv(false));
content = (TextView) findViewById(R.id.device_number);
content.setText(mAimsicdService.getPhoneNumber(false));
content = (TextView) findViewById(R.id.network_name);
content.setText(mAimsicdService.getNetworkName(false));
content = (TextView) findViewById(R.id.network_code);
content.setText(mAimsicdService.getSmmcMcc(false));
content = (TextView) findViewById(R.id.network_type);
content.setText(mAimsicdService.getNetworkTypeName(netID, false));

content = (TextView) findViewById(R.id.data_activity);
content.setText(mAimsicdService.getActivityDesc());
content = (TextView) findViewById(R.id.data_status);
content.setText(mAimsicdService.getStateDesc());
content = (TextView) findViewById(R.id.network_roaming);
content.setText(mAimsicdService.isRoaming());

Log.i(TAG, "**** AIMSICD ****");
Log.i(TAG, "Device type : " + mAimsicdService.getPhoneType(false));
Log.i(TAG, "Device IMEI : " + mAimsicdService.getIMEI(false));
Log.i(TAG, "Device version: " + mAimsicdService.getIMEIv(false));
Log.i(TAG, "Device num : " + mAimsicdService.getPhoneNumber(false));
Log.i(TAG, "Network type : " + mAimsicdService.getNetworkTypeName(netID, false));
Log.i(TAG, "Network CellID: " + mAimsicdService.getCellId());
Log.i(TAG, "Network LAC : " + mAimsicdService.getLAC(false));
Log.i(TAG, "Network code : " + mAimsicdService.getSmmcMcc(false));
Log.i(TAG, "Network name : " + mAimsicdService.getNetworkName(false));
Log.i(TAG, "Roaming : " + mAimsicdService.isRoaming());
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
Expand Down Expand Up @@ -334,10 +256,6 @@ public boolean onOptionsItemSelected(MenuItem item) {
case R.id.show_map:
showmap();
return true;
case R.id.view_db:
intent = new Intent(this, DbViewer.class);
startActivity(intent);
return true;
case R.id.preferences:
intent = new Intent(this, PrefActivity.class);
startActivity(intent);
Expand Down Expand Up @@ -577,4 +495,37 @@ protected void onPostExecute(String result) {
}
}
}





class MyFragmentPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
private List<String> titles;

public MyFragmentPagerAdapter(FragmentManager fm) {
super(fm);
this.fragments = new ArrayList<Fragment>();
titles = new ArrayList<String>();
fragments.add(new DeviceFragment(mContext));
titles.add(getString(R.string.device_info));
fragments.add(new DbViewerFragment(mContext));
titles.add(getString(R.string.db_viewer));
}
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}

@Override
public CharSequence getPageTitle(int position) {
return titles.get(position);
}

@Override
public int getCount() {
return fragments.size();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,86 @@
import com.SecUpwN.AIMSICD.adapters.DefaultLocationCardInflater;
import com.SecUpwN.AIMSICD.adapters.OpenCellIdCardInflater;

import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Spinner;

public class DbViewer extends Activity {
public class DbViewerFragment extends Fragment {

private final AIMSICDDbAdapter mDb = new AIMSICDDbAdapter(this);
private AIMSICDDbAdapter mDb;
private Spinner tblSpinner;
private String mTableSelected;
private boolean mMadeSelection;
private ListView lv;
private View mView;
private Context mContext;

public DbViewerFragment(Context context) {
mContext = context;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.db_view);
lv = (ListView) findViewById(R.id.list_view);
lv.addHeaderView(new View(this));
lv.addFooterView(new View(this));
tblSpinner = (Spinner) findViewById(R.id.table_spinner);
tblSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
mDb = new AIMSICDDbAdapter(mContext);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

mView = inflater.inflate(R.layout.db_view,
container, false);

lv = (ListView) mView.findViewById(R.id.list_view);
tblSpinner = (Spinner) mView.findViewById(R.id.table_spinner);
tblSpinner.setOnItemSelectedListener(new spinnerListener());

Button loadTable = (Button) mView.findViewById(R.id.load_table_data);

loadTable.setOnClickListener(new btnClick());

return mView;
}

private class spinnerListener implements AdapterView.OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView,
int position, long id) {
mTableSelected = String.valueOf(tblSpinner.getSelectedItem());
mMadeSelection = true;
}

@Override
public void onNothingSelected(AdapterView<?> parentView) {
mMadeSelection = false;
}
}

private class btnClick implements View.OnClickListener {
@Override
public void onClick(View v) {
if (mMadeSelection) {
new MyAsync().execute();
}
}
}

@Override
public void onResume() {
super.onResume();
lv = (ListView) mView.findViewById(R.id.list_view);
tblSpinner = (Spinner) mView.findViewById(R.id.table_spinner);
tblSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView,
int position, long id) {
Expand All @@ -48,7 +100,7 @@ public void onNothingSelected(AdapterView<?> parentView) {

});

Button loadTable = (Button) findViewById(R.id.load_table_data);
Button loadTable = (Button) mView.findViewById(R.id.load_table_data);

loadTable.setOnClickListener(new View.OnClickListener() {
@Override
Expand All @@ -60,18 +112,23 @@ public void onClick(View v) {
});
}

@Override
public void onStart() {
super.onStart();
}

private void BuildTable(Cursor tableData) {
if (tableData != null && tableData.getCount() > 0) {
if (mTableSelected.equals("OpenCellID Data")) {
BaseInflaterAdapter<CardItemData> adapter = new BaseInflaterAdapter<CardItemData>(
new OpenCellIdCardInflater());
while (tableData.moveToNext()) {
CardItemData data = new CardItemData("CellID: " + tableData.getString(0),
"LAC: " + tableData.getString(1), "MCC: " + tableData.getString(2),
"MNC: " + tableData.getString(3), "Latitude: " + tableData.getString(4),
"Longitude: " + tableData.getString(5), "Average Signal Strength: " + tableData.getString(6),
"Samples: " + tableData.getString(7));
adapter.addItem(data, false);
CardItemData data = new CardItemData("CellID: " + tableData.getString(0),
"LAC: " + tableData.getString(1), "MCC: " + tableData.getString(2),
"MNC: " + tableData.getString(3), "Latitude: " + tableData.getString(4),
"Longitude: " + tableData.getString(5), "Average Signal Strength: " + tableData.getString(6),
"Samples: " + tableData.getString(7));
adapter.addItem(data, false);
}
lv.setAdapter(adapter);
} else if (mTableSelected.equals("Default MCC Locations")) {
Expand Down Expand Up @@ -101,7 +158,7 @@ private void BuildTable(Cursor tableData) {
lv.setVisibility(View.VISIBLE);
} else {
lv.setVisibility(View.GONE);
Helpers.sendMsg(this, "Table contains no data to display");
Helpers.sendMsg(mContext, "Table contains no data to display");
}
}

Expand Down Expand Up @@ -136,4 +193,4 @@ protected void onPostExecute(Cursor result) {
}
}

}
}
Loading

0 comments on commit 07f89f4

Please sign in to comment.