package com.rattlehead666.performancetweaker.app.ui.adapters;
import com.asksven.android.common.nameutils.UidNameResolver;
import com.asksven.android.common.privateapiproxies.Alarm;
import com.rattlehead666.performancetweaker.app.R;
import com.rattlehead666.performancetweaker.app.utils.BatteryStatsUtils;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import java.util.ArrayList;
public class AlarmTriggerAdapter extends BaseAdapter {
ArrayList<Alarm> alarms;
Context context;
int totaltime;
LayoutInflater inflater;
UidNameResolver uidNameResolver;
public AlarmTriggerAdapter(Context ctx) {
this.context = ctx;
alarms = BatteryStatsUtils.getInstance(context).getAlarmStats();
totaltime = 0;
for (Alarm e : alarms) {
totaltime += e.getWakeups();
}
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
uidNameResolver = UidNameResolver.getInstance(context);
}
@Override
public View getView(int position, View convertView, ViewGroup container) {
View row = inflater.inflate(R.layout.alarm_trigger_custom_list_item1, container, false);
TextView AlarmPackageName = (TextView) row.findViewById(R.id.alarm_package_name);
TextView WakeupCount = (TextView) row.findViewById(R.id.wakeup_count);
TextView name = (TextView) row.findViewById(R.id.alarm_appname);
ImageView icon = (ImageView) row.findViewById(R.id.alarm_icon);
ProgressBar progress = (ProgressBar) row.findViewById(R.id.alrm_progress);
Alarm alarm = alarms.get(position);
icon.setImageDrawable(alarm.getIcon(uidNameResolver));
String packageName = alarm.getPackageName();
AlarmPackageName.setText(uidNameResolver.getLabel(packageName));
name.setText(packageName);
WakeupCount.setText("x" + alarm.getWakeups() + " times");
progress.setMax(totaltime);
progress.setProgress((int) alarm.getWakeups());
return row;
}
@Override
public int getCount() {
if (alarms != null) {
return alarms.size();
} else {
return 0;
}
}
@Override
public Object getItem(int arg0) {
return alarms.get(arg0);
}
@Override
public long getItemId(int arg0) {
return alarms.indexOf(arg0);
}
}