/* Android IMSI-Catcher Detector | (c) AIMSICD Privacy Project * ----------------------------------------------------------- * LICENSE: http://git.io/vki47 | TERMS: http://git.io/vki4o * ----------------------------------------------------------- */ package com.secupwn.aimsicd.adapters; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.secupwn.aimsicd.R; public class CellCardInflater implements IAdapterViewInflater<CardItemData> { @Override public View inflate(final BaseInflaterAdapter<CardItemData> adapter, final int pos, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(parent.getContext()); convertView = inflater.inflate(R.layout.cell_items, parent, false); holder = new ViewHolder(convertView); } else { holder = (ViewHolder) convertView.getTag(); } final CardItemData item = adapter.getTItem(pos); holder.updateDisplay(item); return convertView; } private class ViewHolder { // OLD (in old DB tables) private final View mRootView; private final TextView mCellID; private final TextView mPsc; private final TextView mLac; private final TextView mMcc; private final TextView mMnc; private final TextView mNet; private final TextView mLat; private final TextView mLng; private final TextView mSignal; private final TextView mRecordId; /*// NEW (in new DB tables) private final View mRootView; private final TextView mtime; private final TextView mLAC; private final TextView mCID; private final TextView mPSC; private final TextView mgpsd_lat; private final TextView mgpsd_lon; private final TextView mgpsd_accu; private final TextView mDF_id; private final TextView mDF_description; */ // OLD (in old DB tables) ViewHolder(View rootView) { mRootView = rootView; mCellID = (TextView) mRootView.findViewById(R.id.cellID); mCellID.setVisibility(View.GONE); mPsc = (TextView) mRootView.findViewById(R.id.psc); mPsc.setVisibility(View.GONE); mLac = (TextView) mRootView.findViewById(R.id.lac); mLac.setVisibility(View.GONE); mMcc = (TextView) mRootView.findViewById(R.id.mcc); mMcc.setVisibility(View.GONE); mMnc = (TextView) mRootView.findViewById(R.id.mnc); mMnc.setVisibility(View.GONE); mNet = (TextView) mRootView.findViewById(R.id.net); mNet.setVisibility(View.GONE); mLat = (TextView) mRootView.findViewById(R.id.lat); mLat.setVisibility(View.GONE); mLng = (TextView) mRootView.findViewById(R.id.lng); mLng.setVisibility(View.GONE); mSignal = (TextView) mRootView.findViewById(R.id.signal); mSignal.setVisibility(View.GONE); mRecordId = (TextView) mRootView.findViewById(R.id.record_id); // NEW (in new DB tables) rootView.setTag(this); } public void updateDisplay(CardItemData item) { if (!item.getCellId().contains("N/A")) { mCellID.setVisibility(View.VISIBLE); mCellID.setText(item.getCellId()); } if (!item.getPsc().contains("N/A")) { mPsc.setVisibility(View.VISIBLE); mPsc.setText(item.getPsc()); } if (!item.getLac().contains("N/A")) { mLac.setVisibility(View.VISIBLE); mLac.setText(item.getLac()); } if (!item.getNet().contains("N/A")) { mNet.setVisibility(View.VISIBLE); mNet.setText(item.getNet()); } if (!item.getLat().contains("N/A")) { mLat.setVisibility(View.VISIBLE); mLat.setText(item.getLat()); } if (!item.getLon().contains("N/A")) { mLng.setVisibility(View.VISIBLE); mLng.setText(item.getLon()); } if (!item.getMcc().contains("N/A")) { mMcc.setVisibility(View.VISIBLE); mMcc.setText(item.getMcc()); } if (!item.getMnc().contains("N/A")) { mMnc.setVisibility(View.VISIBLE); mMnc.setText(item.getMnc()); } if (!item.getSignal().contains("N/A")) { mSignal.setVisibility(View.VISIBLE); mSignal.setText(item.getSignal()); } mRecordId.setText(item.getRecordId()); } } }