|
20 | 20 | import android.app.AlertDialog;
|
21 | 21 | import android.app.DatePickerDialog;
|
22 | 22 | import android.app.ListFragment;
|
23 |
| -import android.app.usage.NetworkStatsManager; |
24 | 23 | import android.app.usage.NetworkStats;
|
| 24 | +import android.app.usage.NetworkStatsManager; |
25 | 25 | import android.content.Context;
|
26 | 26 | import android.content.pm.ApplicationInfo;
|
27 | 27 | import android.content.pm.PackageInfo;
|
|
32 | 32 | import android.os.Build;
|
33 | 33 | import android.os.Bundle;
|
34 | 34 | import android.os.RemoteException;
|
| 35 | +import android.text.Html; |
| 36 | +import android.text.Spanned; |
35 | 37 | import android.text.format.Formatter;
|
36 | 38 | import android.util.SparseArray;
|
37 | 39 | import android.view.LayoutInflater;
|
|
49 | 51 | import com.afwsamples.testdpc.R;
|
50 | 52 |
|
51 | 53 | import java.text.DateFormat;
|
| 54 | +import java.text.SimpleDateFormat; |
52 | 55 | import java.util.ArrayList;
|
53 | 56 | import java.util.Arrays;
|
54 | 57 | import java.util.Calendar;
|
@@ -85,6 +88,15 @@ public class NetworkUsageStatsFragment extends ListFragment implements View.OnCl
|
85 | 88 | private ArrayAdapter<List<NetworkStats.Bucket>> mListAdapter;
|
86 | 89 | private ListView mAppHistoryList;
|
87 | 90 | private Button mBackToAppsListButton;
|
| 91 | + private DateFormat mDateStringFormat; |
| 92 | + private DateFormat mHourMinuteDateFormat; |
| 93 | + |
| 94 | + @Override |
| 95 | + public void onCreate(Bundle savedInstanceState) { |
| 96 | + super.onCreate(savedInstanceState); |
| 97 | + mDateStringFormat = new SimpleDateFormat("*dd/MM/YYYY*"); |
| 98 | + mHourMinuteDateFormat = new SimpleDateFormat("kk:mm"); |
| 99 | + } |
88 | 100 |
|
89 | 101 | @Override
|
90 | 102 | public View onCreateView(final LayoutInflater inflater, ViewGroup container,
|
@@ -256,22 +268,29 @@ public View getView(int position, View convertView, ViewGroup parent) {
|
256 | 268 | View view = convertView;
|
257 | 269 | if (convertView == null) {
|
258 | 270 | view = getActivity().getLayoutInflater().inflate(
|
259 |
| - android.R.layout.two_line_list_item, parent, false); |
| 271 | + R.layout.network_usage_app_history_item, parent, false); |
260 | 272 | }
|
261 |
| - DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT); |
262 | 273 | NetworkStats.Bucket item = getItem(position);
|
263 | 274 | Date startDate = new Date(item.getStartTimeStamp());
|
264 | 275 | Date endDate = new Date(item.getEndTimeStamp());
|
265 |
| - TextView text1 = (TextView) view.findViewById(android.R.id.text1); |
266 |
| - TextView text2 = (TextView) view.findViewById(android.R.id.text2); |
267 |
| - text1.setText(dateFormat.format(startDate) + " - " |
268 |
| - + dateFormat.format(endDate)); |
| 276 | + TextView text1 = (TextView) view.findViewById(R.id.text1); |
| 277 | + TextView text2 = (TextView) view.findViewById(R.id.text2); |
| 278 | + text1.setText(getDateString(startDate, endDate)); |
269 | 279 | text2.setText(getString(R.string.network_stats_bucket_usage,
|
270 | 280 | formatSize(item.getRxBytes()), item.getRxPackets(),
|
271 | 281 | formatSize(item.getTxBytes()), item.getTxPackets()));
|
272 | 282 | return view;
|
273 | 283 | }
|
274 |
| - }; |
| 284 | + |
| 285 | + private Spanned getDateString(Date startDate, Date endDate) { |
| 286 | + String startDateString = mDateStringFormat.format(startDate); |
| 287 | + String startHourMinuteString = mHourMinuteDateFormat.format(startDate); |
| 288 | + String endHourMinuteString = mHourMinuteDateFormat.format(endDate); |
| 289 | + String resultString = "<b>" + startDateString + "</b> " + |
| 290 | + startHourMinuteString + " - " + endHourMinuteString; |
| 291 | + return Html.fromHtml(resultString); |
| 292 | + } |
| 293 | + }; |
275 | 294 | mAppHistoryList.setAdapter(adapter);
|
276 | 295 | }
|
277 | 296 | }
|
|
0 commit comments