List of usage examples for android.text.format DateUtils FORMAT_SHOW_DATE
int FORMAT_SHOW_DATE
To view the source code for android.text.format DateUtils FORMAT_SHOW_DATE.
Click Source Link
From source file:com.hyperaware.conference.android.fragment.SessionDetailFragment.java
private void updateSessionDetail() { tvTopic.setText(agendaItem.getTopic()); host.setTitle(agendaItem.getTopic()); final StringBuilder sb = new StringBuilder(); final Formatter formatter = new Formatter(sb); final long start_ms = TimeUnit.SECONDS.toMillis(agendaItem.getEpochStartTime()); final long end_ms = TimeUnit.SECONDS.toMillis(agendaItem.getEpochEndTime()); sb.setLength(0);/*from w ww .j av a2 s .c o m*/ DateUtils.formatDateRange(getActivity(), formatter, start_ms, end_ms, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_WEEKDAY, tz.getID()); tvDate.setText(formatter.toString()); sb.setLength(0); DateUtils.formatDateRange(getActivity(), formatter, start_ms, end_ms, DateUtils.FORMAT_SHOW_TIME, tz.getID()); tvTime.setText(formatter.toString()); final String location = agendaItem.getLocation(); if (!Strings.isNullOrEmpty(location)) { tvLocation.setText(agendaItem.getLocation()); } else { tvLocation.setVisibility(View.GONE); } tvDescription.setText(agendaItem.getDescription()); // Only sessions with speakers can have feedback final View feedback = vgActions.findViewById(R.id.tv_session_feedback); if (speakerItems.size() > 0) { feedback.setOnClickListener(new SessionFeedbackOnClickListener()); vgActions.setVisibility(View.VISIBLE); } else { vgActions.setVisibility(View.GONE); } if (speakerItems.size() > 0) { vgSpeakers.setVisibility(View.VISIBLE); vgSpeakers.removeAllViews(); final LayoutInflater inflater = getActivity().getLayoutInflater(); for (final SpeakerItem item : speakerItems) { final View view = inflater.inflate(R.layout.item_session_speaker, vgSpeakers, false); ImageView iv = (ImageView) view.findViewById(R.id.iv_pic); Glide.with(SessionDetailFragment.this).load(item.getImage100()).placeholder(R.drawable.nopic) .into(iv); ((TextView) view.findViewById(R.id.tv_name)).setText(item.getName()); if (host != null) { view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Fragment next = SpeakerDetailFragment.instantiate(item.getId()); host.pushFragment(next, "speaker_detail"); } }); } vgSpeakers.addView(view); } } }
From source file:org.jraf.android.piclabel.app.form.FormActivity.java
protected ImageInfo extractImageInfo(File file) { ImageInfo res = new ImageInfo(); ExifInterface exifInterface = null;//from w ww .ja va 2 s . c o m try { exifInterface = new ExifInterface(file.getPath()); } catch (IOException e) { Log.e(TAG, "extractImageInfo Could not read exif", e); } // Date String dateTimeStr = null; if (exifInterface != null) dateTimeStr = exifInterface.getAttribute(ExifInterface.TAG_DATETIME); if (TextUtils.isEmpty(dateTimeStr)) { // No date in exif: use 'local' date res.dateTime = DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_WEEKDAY | DateUtils.FORMAT_SHOW_YEAR); res.isLocalDateTime = true; } else { res.dateTime = parseExifDateTime(dateTimeStr); if (res.dateTime == null) { // Date in exif could not be parsed: use 'local' date DateUtils.formatDateTime(this, System.currentTimeMillis(), DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_WEEKDAY | DateUtils.FORMAT_SHOW_YEAR); res.isLocalDateTime = true; } } // Location float[] latLon = new float[2]; boolean latLonPresent = exifInterface != null && exifInterface.getLatLong(latLon); if (!latLonPresent) { // No location in exif: use 'local' location res.isLocalLocation = true; latLonPresent = getLatestLocalLocation(latLon); if (latLonPresent) res.location = reverseGeocode(latLon[0], latLon[1]); } else { res.location = reverseGeocode(latLon[0], latLon[1]); } if (res.location == null) { res.reverseGeocodeProblem = true; res.location = ""; } return res; }
From source file:nl.atcomputing.spacetravelagency.fragments.PlaceOrderFragment.java
private void setDepartureTime(long departureTime) { CharSequence dateString = DateUtils.formatDateTime(getActivity(), departureTime * 1000, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME); TextView tv = (TextView) this.view.findViewById(R.id.departure_time_value); tv.setText(dateString);// w w w . ja v a 2s. c om View v = this.view.findViewById(R.id.linearlayout_departure_time); v.setVisibility(View.VISIBLE); }
From source file:org.pixmob.droidlink.ui.EventDetailsFragment.java
private void initFields() { if (eventUri == null) { return;/*from ww w. j ava2s. co m*/ } final Cursor cursor = getActivity().getContentResolver().query(eventUri, EVENT_PROJECTION, null, null, null); if (cursor == null) { throw new IllegalArgumentException("Cannot event: " + eventUri); } if (!cursor.moveToNext()) { cursor.close(); throw new IllegalArgumentException("Cannot find event: " + eventUri); } final long date; final int type; final String name; String message; try { date = cursor.getLong(cursor.getColumnIndexOrThrow(CREATED)); type = cursor.getInt(cursor.getColumnIndexOrThrow(TYPE)); name = cursor.getString(cursor.getColumnIndexOrThrow(NAME)); number = cursor.getString(cursor.getColumnIndexOrThrow(NUMBER)); message = cursor.getString(cursor.getColumnIndexOrThrow(MESSAGE)); } finally { cursor.close(); } if (number != null) { number = PhoneNumberUtils.formatNumber(number); } final String dateStr = DateUtils.formatDateTime(getActivity(), date, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME); dateView.setText(dateStr); final Integer typeResourceId = EVENT_ICONS.get(type); typeView.setVisibility(typeResourceId == null ? View.GONE : View.VISIBLE); if (typeResourceId != null) { typeView.setImageResource(typeResourceId); } final String eventName; final String eventNumber; if (number == null) { eventName = getActivity().getString(R.string.unknown_number); eventNumber = null; } else if (name == null) { eventName = number; eventNumber = null; } else { eventName = name; eventNumber = number; } nameView.setText(eventName); numberView.setText(eventNumber); if (EventsContract.MISSED_CALL_TYPE == type) { message = getString(R.string.missed_call); } messageView.setText(message); new GetContactPictureTask(this, eventNumber).execute(); }
From source file:org.openintents.openpgp.util.OpenPgpKeyPreference.java
private void refreshTitleAndSummary() { boolean isConfigured = openPgpApiManager != null && openPgpApiManager.getOpenPgpProviderState() != OpenPgpProviderState.UNCONFIGURED; setEnabled(isConfigured);//from w ww.j a va2 s. co m if (this.keyId == NO_KEY) { setTitle(R.string.openpgp_key_title); setSummary(R.string.openpgp_no_key_selected); return; } if (this.keyPrimaryUserId != null && this.keyCreationTime != 0) { Context context = getContext(); UserId userId = OpenPgpUtils.splitUserId(keyPrimaryUserId); if (userId.email != null) { setTitle(context.getString(R.string.openpgp_key_using, userId.email)); } else if (userId.name != null) { setTitle(context.getString(R.string.openpgp_key_using, userId.name)); } else { setTitle(R.string.openpgp_key_using_no_name); } String creationTimeStr = DateUtils.formatDateTime(context, keyCreationTime, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_ABBREV_MONTH); setSummary(context.getString(R.string.openpgp_key_created, creationTimeStr)); } else { setTitle(R.string.openpgp_key_title); setSummary(R.string.openpgp_key_selected); } }
From source file:com.google.android.apps.muzei.gallery.GalleryArtSource.java
private void publishNextArtwork(Uri forceUri) { // schedule next scheduleNext();// ww w . j a v a 2s .c o m Cursor chosenUris = getContentResolver().query(GalleryContract.ChosenPhotos.CONTENT_URI, new String[] { BaseColumns._ID }, null, null, null); int numChosenUris = (chosenUris != null) ? chosenUris.getCount() : 0; Artwork currentArtwork = getCurrentArtwork(); String lastToken = (currentArtwork != null) ? currentArtwork.getToken() : null; Uri imageUri; Random random = new Random(); if (forceUri != null) { imageUri = forceUri; } else if (numChosenUris > 0) { while (true) { chosenUris.moveToPosition(random.nextInt(chosenUris.getCount())); imageUri = ContentUris.withAppendedId(GalleryContract.ChosenPhotos.CONTENT_URI, chosenUris.getLong(chosenUris.getColumnIndex(BaseColumns._ID))); if (numChosenUris <= 1 || !imageUri.toString().equals(lastToken)) { break; } } } else { if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { Log.w(TAG, "Missing read external storage permission."); return; } Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[] { MediaStore.MediaColumns._ID }, MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " NOT LIKE '%Screenshots%'", null, null); if (cursor == null) { Log.w(TAG, "Empty cursor."); return; } int count = cursor.getCount(); if (count == 0) { Log.e(TAG, "No photos in the gallery."); return; } while (true) { cursor.moveToPosition(random.nextInt(count)); imageUri = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, cursor.getLong(0)); if (!imageUri.toString().equals(lastToken)) { break; } } cursor.close(); } if (chosenUris != null) { chosenUris.close(); } String token = imageUri.toString(); // Retrieve metadata for item ensureMetadataExists(imageUri); String[] projection = { GalleryContract.MetadataCache.COLUMN_NAME_DATETIME, GalleryContract.MetadataCache.COLUMN_NAME_LOCATION }; Cursor metadata = getContentResolver().query(GalleryContract.MetadataCache.CONTENT_URI, projection, GalleryContract.MetadataCache.COLUMN_NAME_URI + "=?", new String[] { imageUri.toString() }, null); long datetime = 0; String location = null; if (metadata != null && metadata.moveToFirst()) { datetime = metadata .getLong(metadata.getColumnIndex(GalleryContract.MetadataCache.COLUMN_NAME_DATETIME)); location = metadata .getString(metadata.getColumnIndex(GalleryContract.MetadataCache.COLUMN_NAME_LOCATION)); } if (metadata != null) { metadata.close(); } // Publish the actual artwork String title; if (datetime > 0) { title = DateUtils.formatDateTime(this, datetime, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_WEEKDAY); } else { title = getString(R.string.gallery_from_gallery); } String byline; if (!TextUtils.isEmpty(location)) { byline = location; } else { byline = getString(R.string.gallery_touch_to_view); } publishArtwork(new Artwork.Builder().imageUri(imageUri).title(title).byline(byline).token(token) .viewIntent(new Intent(Intent.ACTION_VIEW).setDataAndType(imageUri, "image/jpeg")).build()); }
From source file:com.numenta.taurus.service.TaurusNotificationService.java
/** * Format anomaly title/*from w ww. ja v a 2s. c om*/ * * @param company The company name * @param types The anomaly types triggering the anomaly * @param timestamp The time the anomaly was fired * @return The formatted text suitable for OS notification */ String formatAnomalyTitle(String company, EnumSet<MetricType> types, long timestamp) { Context ctx = getService(); String anomalyTypes = ""; if (!Collections.disjoint(types, MetricType.STOCK_TYPES)) { if (types.contains(MetricType.TwitterVolume)) { anomalyTypes = ctx.getString(R.string.header_stock_twitter); } else { anomalyTypes = ctx.getString(R.string.header_stock); } } else if (types.contains(MetricType.TwitterVolume)) { anomalyTypes = ctx.getString(R.string.header_twitter); } return String.format(ctx.getString(R.string.taurus_notification_description_template), company, DateUtils.formatDateTime(ctx, timestamp, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME), anomalyTypes); }
From source file:com.hyperaware.conference.android.fragment.SpeakerDetailFragment.java
private void updateSpeaker() { tvName.setText(speakerItem.getName()); host.setTitle(speakerItem.getName()); final String company = speakerItem.getCompanyName(); tvCompany.setVisibility(Strings.isNullOrEmpty(company) ? View.GONE : View.VISIBLE); tvCompany.setText(company);/*from w w w .ja va 2s.c o m*/ final String title = speakerItem.getTitle(); tvTitle.setVisibility(Strings.isNullOrEmpty(title) ? View.GONE : View.VISIBLE); tvTitle.setText(title); Glide.with(SpeakerDetailFragment.this).load(speakerItem.getImage100()).fitCenter() .placeholder(R.drawable.nopic).into(ivPic); boolean links_visible = false; final String website = speakerItem.getWebsite(); if (!Strings.isNullOrEmpty(website)) { links_visible = true; tvWebsite.setVisibility(View.VISIBLE); tvWebsite.setText(website); } final String twitter = speakerItem.getTwitter(); if (!Strings.isNullOrEmpty(twitter)) { links_visible = true; tvTwitter.setVisibility(View.VISIBLE); tvTwitter.setText(twitter); } final String facebook = speakerItem.getFacebook(); if (!Strings.isNullOrEmpty(facebook)) { links_visible = true; tvFacebook.setVisibility(View.VISIBLE); tvFacebook.setText(facebook); } final String linkedin = speakerItem.getLinkedin(); if (!Strings.isNullOrEmpty(linkedin)) { links_visible = true; tvLinkedin.setVisibility(View.VISIBLE); tvLinkedin.setText(linkedin); } vgDetailLinks.setVisibility(links_visible ? View.VISIBLE : View.GONE); tvAbout.setText(speakerItem.getAbout()); if (agendaItems.size() > 0) { vgSessions.setVisibility(View.VISIBLE); vgSessions.removeAllViews(); final StringBuilder sb = new StringBuilder(); final Formatter formatter = new Formatter(sb); final LayoutInflater inflater = getActivity().getLayoutInflater(); for (final AgendaItem item : agendaItems) { final View view = inflater.inflate(R.layout.item_speaker_session, vgSessions, false); ((TextView) view.findViewById(R.id.tv_topic)).setText(item.getTopic()); sb.setLength(0); DateUtils.formatDateRange(getActivity(), formatter, item.getEpochStartTime() * 1000, item.getEpochEndTime() * 1000, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_WEEKDAY, tz.getID()); ((TextView) view.findViewById(R.id.tv_date)).setText(formatter.toString()); sb.setLength(0); DateUtils.formatDateRange(getActivity(), formatter, item.getEpochStartTime() * 1000, item.getEpochEndTime() * 1000, DateUtils.FORMAT_SHOW_TIME, tz.getID()); ((TextView) view.findViewById(R.id.tv_time)).setText(formatter.toString()); final String session_id = item.getId(); final ImageButton ib_favorite = (ImageButton) view.findViewById(R.id.button_favorite_session); favSessionButtonManager.attach(ib_favorite, session_id); if (host != null) { view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Fragment next = SessionDetailFragment.instantiate(item.getId()); host.pushFragment(next, "session_detail"); } }); } vgSessions.addView(view); } } }
From source file:org.jraf.android.bikey.app.ride.detail.RideDetailActivity.java
private void loadData() { new TaskFragment(new Task<RideDetailActivity>() { private String mName; private Date mCreatedDate; private long mDuration; private float mDistance; private float mAverageMovingSpeed; private float mMaxSpeed; private Date mFirstActivatedDate; private Long mMovingDuration; private Float mAverageCadence; private float mMaxCadence; private List<LatLng> mLatLngArray; private float[] mSpeedArray; private float[] mCadenceArray; private float mMinHeartRate; private float mMaxHeartRate; private Float mAverageHeartRate; private float[] mHeartRateArray; @Override//w ww . ja va 2 s. c o m protected void doInBackground() throws Throwable { RideManager rideManager = RideManager.get(); Uri rideUri = getActivity().mRideUri; RideCursor rideCursor = rideManager.query(rideUri); mName = rideCursor.getName(); mCreatedDate = rideCursor.getCreatedDate(); mFirstActivatedDate = rideCursor.getFirstActivatedDate(); mDuration = rideCursor.getDuration(); mDistance = rideCursor.getDistance(); rideCursor.close(); LogManager logManager = LogManager.get(); mAverageMovingSpeed = logManager.getAverageMovingSpeed(rideUri); mMaxSpeed = logManager.getMaxSpeed(rideUri); mMovingDuration = logManager.getMovingDuration(rideUri); mAverageCadence = logManager.getAverageCadence(rideUri); mMaxCadence = logManager.getMaxCadence(rideUri); mMinHeartRate = logManager.getMinHeartRate(rideUri); mMaxHeartRate = logManager.getMaxHeartRate(rideUri); mAverageHeartRate = logManager.getAverageHeartRate(rideUri); mLatLngArray = logManager.getLatLngArray(rideUri, POINTS_TO_GRAPH); List<Float> speedList = logManager.getSpeedArray(rideUri, POINTS_TO_GRAPH); mSpeedArray = CollectionUtil.unwrap(speedList.toArray(new Float[speedList.size()])); mSpeedArray = MathUtil.getMovingAverage(mSpeedArray, mSpeedArray.length / 10); List<Float> cadenceList = logManager.getCadenceArray(rideUri, POINTS_TO_GRAPH); mCadenceArray = CollectionUtil.unwrap(cadenceList.toArray(new Float[cadenceList.size()])); mCadenceArray = MathUtil.getMovingAverage(mCadenceArray, mCadenceArray.length / 10); List<Float> heartRateList = logManager.getHeartRateArray(rideUri, POINTS_TO_GRAPH); mHeartRateArray = CollectionUtil.unwrap(heartRateList.toArray(new Float[heartRateList.size()])); mHeartRateArray = MathUtil.getMovingAverage(mHeartRateArray, mHeartRateArray.length / 10); } @Override protected void onPostExecuteOk() { RideDetailActivity a = getActivity(); if (mName != null) a.setTitle(mName); a.mTxtDateTimeDate.setText(DateUtils.formatDateTime(a, mCreatedDate.getTime(), DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_WEEKDAY | DateUtils.FORMAT_SHOW_YEAR)); if (mLatLngArray.isEmpty()) { // Special case: we have no points. Show empty screen. a.mConMap.setVisibility(View.GONE); a.mConDetailedInfo.setVisibility(View.GONE); a.mTxtEmpty.setVisibility(View.VISIBLE); return; } if (mFirstActivatedDate != null) { a.mTxtDateTimeStart.setText( DateUtils.formatDateTime(a, mFirstActivatedDate.getTime(), DateUtils.FORMAT_SHOW_TIME)); a.mTxtDateTimeFinish.setText(DateUtils.formatDateTime(a, mFirstActivatedDate.getTime() + mDuration, DateUtils.FORMAT_SHOW_TIME)); } if (mMovingDuration != null) a.mTxtDurationMoving.setText(DateTimeUtil.formatDuration(a, mMovingDuration.longValue())); a.mTxtDurationTotal.setText(DateTimeUtil.formatDuration(a, mDuration)); a.mTxtDistanceTotal.setText(UnitUtil.formatDistance(mDistance, true, .85f, false)); a.mTxtSpeedAverage.setText(UnitUtil.formatSpeed(mAverageMovingSpeed, true, .85f, false)); a.mTxtSpeedMax.setText(UnitUtil.formatSpeed(mMaxSpeed, true, .85f, false)); // Cadence if (mAverageCadence == null) { a.mTxtCadenceSectionTitle.setVisibility(View.GONE); a.mTxtCadenceAverage.setVisibility(View.GONE); a.mTxtCadenceMax.setVisibility(View.GONE); a.mGrpCadence.setVisibility(View.GONE); } else { a.mTxtCadenceSectionTitle.setVisibility(View.VISIBLE); a.mTxtCadenceAverage.setVisibility(View.VISIBLE); a.mTxtCadenceAverage.setText(UnitUtil.formatCadence(mAverageCadence, true)); a.mTxtCadenceMax.setVisibility(View.VISIBLE); a.mTxtCadenceMax.setText(UnitUtil.formatCadence(mMaxCadence, true)); a.mGrpCadence.setVisibility(View.VISIBLE); a.mGrpCadence.setColor(0, a.getResources().getColor(R.color.graph_line)); a.mGrpCadence.setValues(0, mCadenceArray); } // Map if (mLatLngArray.size() > 0) { PolylineOptions polylineOptions = new PolylineOptions().addAll(mLatLngArray); polylineOptions.color(getResources().getColor(R.color.map_polyline)); a.getMap().addPolyline(polylineOptions); // Calculate bounds LatLngBounds bounds = new LatLngBounds(mLatLngArray.get(0), mLatLngArray.get(0)); for (LatLng latLng : mLatLngArray) { bounds = bounds.including(latLng); } int padding = getResources().getDimensionPixelSize(R.dimen.ride_detail_map_padding); a.getMap().moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, padding)); a.mConMap.setVisibility(View.VISIBLE); } // Speed graph a.mGrpSpeed.setColor(0, a.getResources().getColor(R.color.graph_line)); a.mGrpSpeed.setValues(0, mSpeedArray); // Heart rate if (mAverageHeartRate == null) { a.mTxtHeartRateSectionTitle.setVisibility(View.GONE); a.mTxtHeartRateAverage.setVisibility(View.GONE); a.mTxtHeartRateMin.setVisibility(View.GONE); a.mTxtHeartRateMax.setVisibility(View.GONE); a.mGrpHeartRate.setVisibility(View.GONE); } else { a.mTxtHeartRateSectionTitle.setVisibility(View.VISIBLE); a.mTxtHeartRateAverage.setVisibility(View.VISIBLE); a.mTxtHeartRateAverage.setText(UnitUtil.formatHeartRate(mAverageHeartRate.intValue(), true)); a.mTxtHeartRateMin.setVisibility(View.VISIBLE); a.mTxtHeartRateMin.setText(UnitUtil.formatHeartRate((int) mMinHeartRate, true)); a.mTxtHeartRateMax.setVisibility(View.VISIBLE); a.mTxtHeartRateMax.setText(UnitUtil.formatHeartRate((int) mMaxHeartRate, true)); a.mGrpHeartRate.setVisibility(View.VISIBLE); a.mGrpHeartRate.setColor(0, a.getResources().getColor(R.color.graph_line)); a.mGrpHeartRate.setValues(0, mHeartRateArray); } } }).execute(getSupportFragmentManager()); }
From source file:com.conferenceengineer.android.iosched.ui.ScheduleFragment.java
@Override public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { if (!isAdded()) { return;/*from www .j a v a2 s . c om*/ } Context context = getActivity(); long currentTime = UIUtils.getCurrentTime(getActivity()); int firstNowPosition = ListView.INVALID_POSITION; String displayTimeZone = PrefUtils.getDisplayTimeZone(context).getID(); List<SimpleSectionedListAdapter.Section> sections = new ArrayList<SimpleSectionedListAdapter.Section>(); cursor.moveToFirst(); long previousBlockStart = -1; long blockStart, blockEnd; while (!cursor.isAfterLast()) { blockStart = cursor.getLong(BlocksQuery.BLOCK_START); blockEnd = cursor.getLong(BlocksQuery.BLOCK_END); if (!UIUtils.isSameDayDisplay(previousBlockStart, blockStart, context)) { mBuffer.setLength(0); sections.add( new SimpleSectionedListAdapter.Section(cursor.getPosition(), DateUtils .formatDateRange(context, mFormatter, blockStart, blockStart, DateUtils.FORMAT_ABBREV_MONTH | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_WEEKDAY, displayTimeZone) .toString())); } if (mScrollToNow && firstNowPosition == ListView.INVALID_POSITION // if we're currently in this block, or we're not in a block // and this block is in the future, then this is the scroll position && ((blockStart < currentTime && currentTime < blockEnd) || blockStart > currentTime)) { firstNowPosition = cursor.getPosition(); } previousBlockStart = blockStart; cursor.moveToNext(); } mScheduleAdapter.swapCursor(cursor); SimpleSectionedListAdapter.Section[] dummy = new SimpleSectionedListAdapter.Section[sections.size()]; mAdapter.setSections(sections.toArray(dummy)); if (mScrollToNow && firstNowPosition != ListView.INVALID_POSITION) { firstNowPosition = mAdapter.positionToSectionedPosition(firstNowPosition); getListView().setSelectionFromTop(firstNowPosition, getResources().getDimensionPixelSize(R.dimen.list_scroll_top_offset)); mScrollToNow = false; } }