BatteryInfoAdapter.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package epson.maintain;
  2. import android.app.Activity;
  3. import android.content.Context;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.ArrayAdapter;
  8. import android.widget.ImageView;
  9. import android.widget.ListAdapter;
  10. import android.widget.ListView;
  11. import android.widget.TextView;
  12. import epson.print.R;
  13. import java.util.ArrayList;
  14. public class BatteryInfoAdapter extends ArrayAdapter<BatteryInfoAdapter.BatteryInfoList> {
  15. private LayoutInflater mInflater;
  16. private ArrayList<BatteryInfoList> mItems;
  17. private int mResourceId;
  18. public boolean isEnabled(int i) {
  19. return false;
  20. }
  21. public BatteryInfoAdapter(Context context, int i, ArrayList<BatteryInfoList> arrayList) {
  22. super(context, i, arrayList);
  23. mResourceId = i;
  24. mItems = arrayList;
  25. mInflater = (LayoutInflater) context.getSystemService("layout_inflater");
  26. }
  27. public View getView(int i, View view, ViewGroup viewGroup) {
  28. if (view == null) {
  29. view = mInflater.inflate(mResourceId, (ViewGroup) null);
  30. }
  31. BatteryInfoList batteryInfoList = mItems.get(i);
  32. ((TextView) view.findViewById(R.id.bt_name)).setText(batteryInfoList.getBatteryName());
  33. ((TextView) view.findViewById(R.id.bt_percentage)).setText(batteryInfoList.getBatteryStatusPercentage());
  34. ((ImageView) view.findViewById(R.id.bt_status_icon)).setImageResource(batteryInfoList.getBatteryStatusIcon());
  35. return view;
  36. }
  37. static class BatteryInfoList {
  38. private String mBatteryName = null;
  39. private String mBatteryPercentage = null;
  40. private int mBatteryStatusIcon = 0;
  41. BatteryInfoList() {
  42. }
  43. /* access modifiers changed from: package-private */
  44. public String getBatteryName() {
  45. return mBatteryName;
  46. }
  47. /* access modifiers changed from: package-private */
  48. public void setBatteryStatusName(String str) {
  49. mBatteryName = str;
  50. }
  51. /* access modifiers changed from: package-private */
  52. public String getBatteryStatusPercentage() {
  53. return mBatteryPercentage;
  54. }
  55. /* access modifiers changed from: package-private */
  56. public void setBatteryStatusPercentage(String str) {
  57. mBatteryPercentage = str;
  58. }
  59. /* access modifiers changed from: package-private */
  60. public int getBatteryStatusIcon() {
  61. return mBatteryStatusIcon;
  62. }
  63. /* access modifiers changed from: package-private */
  64. public void setBatteryStatusIcon(int i) {
  65. mBatteryStatusIcon = i;
  66. }
  67. }
  68. public static class BatteryInfoManager {
  69. static boolean batteryIsUnknown(int i, int i2) {
  70. return i == 0 || i2 == 2;
  71. }
  72. public static void showBatteryList(Activity activity, int i, int i2, int[] iArr, int[] iArr2) {
  73. ArrayList arrayList = new ArrayList();
  74. for (int i3 = 0; i3 < i; i3++) {
  75. BatteryInfoList batteryInfoList = new BatteryInfoList();
  76. setBatteryName(activity, batteryInfoList, i, i3);
  77. setBatteryPercentage(activity, batteryInfoList, i2, iArr[i3], iArr2[i3]);
  78. setBatteryIcon(activity, batteryInfoList, i2, iArr[i3], iArr2[i3]);
  79. arrayList.add(batteryInfoList);
  80. }
  81. showListView(activity, new BatteryInfoAdapter(activity, R.layout.maintain_battery_info, arrayList));
  82. }
  83. public static void clearBatteryList(Activity activity) {
  84. activity.findViewById(R.id.bt_PowerText).setVisibility(View.GONE);
  85. showListView(activity, (BatteryInfoAdapter) null);
  86. }
  87. static void setBatteryName(Context context, BatteryInfoList batteryInfoList, int i, int i2) {
  88. int i3 = i2 + 1;
  89. if (i == 1) {
  90. batteryInfoList.setBatteryStatusName(context.getString(R.string.bi_remain));
  91. return;
  92. }
  93. batteryInfoList.setBatteryStatusName(context.getString(R.string.bi_remain) + " " + i3);
  94. }
  95. static void setBatteryPercentage(Context context, BatteryInfoList batteryInfoList, int i, int i2, int i3) {
  96. if (batteryIsUnknown(i, i2)) {
  97. return;
  98. }
  99. if (i3 < 0 || i3 > 100) {
  100. batteryInfoList.setBatteryStatusPercentage(context.getString(R.string.bi_no_percentage));
  101. return;
  102. }
  103. batteryInfoList.setBatteryStatusPercentage(i3 + " %");
  104. }
  105. static void setBatteryIcon(Activity activity, BatteryInfoList batteryInfoList, int i, int i2, int i3) {
  106. if (batteryIsUnknown(i, i2)) {
  107. batteryInfoList.setBatteryStatusIcon(R.drawable.bi_not_inserted);
  108. return;
  109. }
  110. batteryInfoList.setBatteryStatusIcon(activity.getResources().getIdentifier(String.format("bi_%s_%d", new Object[]{i2 == 1 ? "charge" : "running", Integer.valueOf((76 > i3 || i3 > 100) ? (51 > i3 || i3 >= 76) ? (26 > i3 || i3 >= 51) ? (i3 <= 0 || i3 >= 26) ? 0 : 39 : 59 : 89 : 100)}), "drawable", activity.getPackageName()));
  111. }
  112. public static void showPowerText(Activity activity) {
  113. activity.findViewById(R.id.bt_PowerText).setVisibility(View.VISIBLE);
  114. }
  115. static void showListView(Activity activity, BatteryInfoAdapter batteryInfoAdapter) {
  116. ListView listView = (ListView) activity.findViewById(R.id.battery_list);
  117. listView.setAdapter(batteryInfoAdapter);
  118. setListViewHeight(listView);
  119. }
  120. static void setListViewHeight(ListView listView) {
  121. ListAdapter adapter = listView.getAdapter();
  122. ViewGroup.LayoutParams layoutParams = listView.getLayoutParams();
  123. if (adapter == null) {
  124. layoutParams.height = 0;
  125. } else {
  126. int i = 0;
  127. for (int i2 = 0; i2 < adapter.getCount(); i2++) {
  128. View view = adapter.getView(i2, (View) null, listView);
  129. view.measure(0, 0);
  130. i += view.getMeasuredHeight();
  131. }
  132. layoutParams.height = i + (listView.getDividerHeight() * (adapter.getCount() - 1));
  133. }
  134. listView.setLayoutParams(layoutParams);
  135. listView.requestLayout();
  136. }
  137. }
  138. }