Example usage for android.text.format Time set

List of usage examples for android.text.format Time set

Introduction

In this page you can find the example usage for android.text.format Time set.

Prototype

public void set(Time that) 

Source Link

Document

Copy the value of that to this Time object.

Usage

From source file:de.ribeiro.android.gso.dataclasses.Pager.java

/**
 * Erstellt eine Stundeplan Seite des ViewPagers, inkl Header und Footer
 * <p/>/*  w  w  w . ja  v  a 2s.c o m*/
 * Hier wird die Wochenansicht generiert
 *
 * @param weekData
 * @param ctxt
 * @return
 * @author Tobias Janssen
 */
private View createWeekPage(WeekData weekData) {
    // in die Page kommen alle Elemente dieser Ansicht
    View page = inflater.inflate(R.layout.weeklayout, null);

    TableLayout tl = (TableLayout) page.findViewById(R.id.weekTimetable);
    LinearLayoutBordered ll = new LinearLayoutBordered(context);

    // Tagesberschrift erstellen:
    TableRow tr = new TableRow(context);

    for (int x = Calendar.SUNDAY; x < Calendar.SATURDAY; x++) {
        // einen neuen Rahmen fr das Tabellenfeld vorbereiten
        ll = new LinearLayoutBordered(context);
        ll.setBorderRight(true);
        ll.setBorderBottom(true);
        ll.setBorderTop(true);
        ll.setBorderSize(1);
        ll.setBackgroundColor(Color.WHITE);

        View textview = inflater.inflate(R.layout.textview, null);
        TextView tv = (TextView) textview.findViewById(R.id.textview);
        // berschriftentextgre einstellen

        tv.setTextSize(textSize);
        if (x == Calendar.SUNDAY) {
            tv.setText(timeslots[0]);
            tv.setTextColor(Color.parseColor("#3A599A"));

        } else {
            tv.setText(ResolveWeekDay(x));
        }
        ll.addView(tv);
        tr.addView(ll);
    }
    tl.addView(tr);

    // den Stundenplan zusammensetzten
    // fr jeden tag
    List<Lesson> stunden = GetSchulstunden();
    for (int y = 0; y < stunden.size(); y++) {
        tr = new TableRow(context);
        for (int x = Calendar.SUNDAY; x <= Calendar.FRIDAY; x++) {
            if (x == Calendar.SUNDAY) {
                addColumn(timeslots[y + 1], "#3A599A", tr);
            } else {
                // alle events dieses Tages durchgehen ob die zu dieser
                // schulstunde passen
                boolean lessonAdded = false;
                TextView lastTextView = null;
                for (ICalEvent ev : weekData.events) {
                    // ist event an diesem tag?
                    if (ev.DTSTART.get(Calendar.DAY_OF_WEEK) == x) {
                        // ja
                        // ist event zu dieser schulstunde?

                        Time st = new Time();
                        st.set(ev.DTSTART.getTimeInMillis());
                        int start = GetSchulstundeOfDateTime(st);
                        Time et = new Time();
                        et.set(ev.DTEND.getTimeInMillis() - 60000);
                        int end = GetSchulstundeOfDateTime(et);
                        // ende der schulstunde herausfinden
                        if (((start != end) && y >= start && y <= end) || start == y || end == y) {
                            // ja event ist in dieser stunde
                            // ist eine Doopelbelegung fr diese Stunde?
                            if (lessonAdded && lastTextView != null) {
                                // ja, doppelbelegung
                                String newText = "";
                                if (weekData.typeId.equalsIgnoreCase("4")) {
                                    newText = lastTextView.getText() + "\r\n" + ev.DESCRIPTION + " "
                                            + ev.SUMMARY;
                                } else {
                                    newText = lastTextView.getText() + "\r\n"
                                            + ev.DESCRIPTION.replace(weekData.elementId, "") + " " + ev.SUMMARY
                                            + " " + ev.LOCATION;
                                }
                                lastTextView.setText(newText);
                            } else {
                                // prfen, ob dieses event eine gelschte
                                // stunde ist
                                if (ev.UID.equalsIgnoreCase("deleted")) {
                                    // gelschtes event
                                    lastTextView = addColumn(" --- " + " " + " --- " + " " + " --- ", "#FF0000",
                                            tr);
                                } else {
                                    String color = "#3A599A";
                                    if (ev.UID.equalsIgnoreCase("diff"))
                                        color = "#FF0000";
                                    if (weekData.typeId.equalsIgnoreCase("4")) {
                                        lastTextView = addColumn(ev.DESCRIPTION + " " + ev.SUMMARY, color, tr);
                                    } else {
                                        lastTextView = addColumn(ev.DESCRIPTION.replace(weekData.elementId, "")
                                                + " " + ev.SUMMARY + " " + ev.LOCATION, color, tr);
                                    }
                                }
                            }

                            lessonAdded = true;
                        }
                    }
                }
                if (!lessonAdded) {
                    // ja event ist in dieser stunde
                    addColumn("", "#3A599A", tr);
                }
            }
        }
        tl.addView(tr);
    }
    TextView syncTime = (TextView) page.findViewById(R.id.syncTime);
    Calendar sync = new GregorianCalendar();
    sync.setTimeInMillis(weekData.syncTime);

    String minute = String.valueOf(sync.get(Calendar.MINUTE));
    if (minute.length() == 1)
        minute = "0" + minute;

    syncTime.setText(weekData.elementId + " | Stand vom " + sync.get(Calendar.DAY_OF_MONTH) + "."
            + (sync.get(Calendar.MONTH) + 1) + "." + sync.get(Calendar.YEAR) + " "
            + sync.get(Calendar.HOUR_OF_DAY) + ":" + minute + " Uhr");

    return page;
}

From source file:com.xandy.calendar.AllInOneActivity.java

@Override
protected void onResume() {
    super.onResume();

    // Must register as the first activity because this activity can modify
    // the list of event handlers in it's handle method. This affects who
    // the rest of the handlers the controller dispatches to are.
    mController.registerFirstEventHandler(HANDLER_KEY, this);

    mOnSaveInstanceStateCalled = false;/* w  ww  .  j  a v a2  s.c om*/
    mContentResolver.registerContentObserver(CalendarContract.Events.CONTENT_URI, true, mObserver);
    if (mUpdateOnResume) {
        initFragments(mController.getTime(), mController.getViewType(), null);
        mUpdateOnResume = false;
    }
    Time t = new Time(mTimeZone);
    t.set(mController.getTime());
    mController.sendEvent(this, EventType.UPDATE_TITLE, t, t, -1, ViewType.CURRENT, mController.getDateFlags(),
            null, null);
    // Make sure the drop-down menu will get its date updated at midnight
    if (mActionBarMenuSpinnerAdapter != null) {
        mActionBarMenuSpinnerAdapter.refresh(this);
    }

    if (mControlsMenu != null) {
        mControlsMenu.setTitle(mHideControls ? mShowString : mHideString);
    }
    mPaused = false;

    if (mViewEventId != -1 && mIntentEventStartMillis != -1 && mIntentEventEndMillis != -1) {
        long currentMillis = System.currentTimeMillis();
        long selectedTime = -1;
        if (currentMillis > mIntentEventStartMillis && currentMillis < mIntentEventEndMillis) {
            selectedTime = currentMillis;
        }
        mController.sendEventRelatedEventWithExtra(this, EventType.VIEW_EVENT, mViewEventId,
                mIntentEventStartMillis, mIntentEventEndMillis, -1, -1,
                EventInfo.buildViewExtraLong(mIntentAttendeeResponse, mIntentAllDay), selectedTime);
        mViewEventId = -1;
        mIntentEventStartMillis = -1;
        mIntentEventEndMillis = -1;
        mIntentAllDay = false;
    }
    Utils.setMidnightUpdater(mHandler, mTimeChangesUpdater, mTimeZone);
    // Make sure the today icon is up to date
    invalidateOptionsMenu();

    mCalIntentReceiver = Utils.setTimeChangesReceiver(this, mTimeChangesUpdater);
}

From source file:com.xandy.calendar.AllInOneActivity.java

private void initFragments(long timeMillis, int viewType, Bundle icicle) {
    if (DEBUG) {//w w  w .j  a  v  a  2  s  .c o m
        Log.d(TAG, "Initializing to " + timeMillis + " for view " + viewType);
    }
    //        FragmentTransaction ft = getFragmentManager().beginTransaction();
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();

    if (mShowCalendarControls) {
        Fragment miniMonthFrag = new MonthByWeekFragment(timeMillis, true);
        ft.replace(R.id.mini_month, miniMonthFrag);
        mController.registerEventHandler(R.id.mini_month, (EventHandler) miniMonthFrag);

        Fragment selectCalendarsFrag = new SelectVisibleCalendarsFragment();
        ft.replace(R.id.calendar_list, selectCalendarsFrag);
        mController.registerEventHandler(R.id.calendar_list, (EventHandler) selectCalendarsFrag);
    }
    if (!mShowCalendarControls || viewType == ViewType.EDIT) {
        mMiniMonth.setVisibility(View.GONE);
        mCalendarsList.setVisibility(View.GONE);
    }

    EventInfo info = null;
    if (viewType == ViewType.EDIT) {
        mPreviousView = GeneralPreferences.getSharedPreferences(this).getInt(GeneralPreferences.KEY_START_VIEW,
                GeneralPreferences.DEFAULT_START_VIEW);

        long eventId = -1;
        Intent intent = getIntent();
        Uri data = intent.getData();
        if (data != null) {
            try {
                eventId = Long.parseLong(data.getLastPathSegment());
            } catch (NumberFormatException e) {
                if (DEBUG) {
                    Log.d(TAG, "Create new event");
                }
            }
        } else if (icicle != null && icicle.containsKey(BUNDLE_KEY_EVENT_ID)) {
            eventId = icicle.getLong(BUNDLE_KEY_EVENT_ID);
        }

        long begin = intent.getLongExtra(EXTRA_EVENT_BEGIN_TIME, -1);
        long end = intent.getLongExtra(EXTRA_EVENT_END_TIME, -1);
        info = new EventInfo();
        if (end != -1) {
            info.endTime = new Time();
            info.endTime.set(end);
        }
        if (begin != -1) {
            info.startTime = new Time();
            info.startTime.set(begin);
        }
        info.id = eventId;
        // We set the viewtype so if the user presses back when they are
        // done editing the controller knows we were in the Edit Event
        // screen. Likewise for eventId
        mController.setViewType(viewType);
        mController.setEventId(eventId);
    } else {
        mPreviousView = viewType;
    }

    setMainPane(ft, R.id.main_pane, viewType, timeMillis, true);
    ft.commit(); // this needs to be after setMainPane()

    Time t = new Time(mTimeZone);
    t.set(timeMillis);
    if (viewType == ViewType.AGENDA && icicle != null) {
        mController.sendEvent(this, EventType.GO_TO, t, null, icicle.getLong(BUNDLE_KEY_EVENT_ID, -1),
                viewType);
    } else if (viewType != ViewType.EDIT) {
        mController.sendEvent(this, EventType.GO_TO, t, null, -1, viewType);
    }
}

From source file:com.xandy.calendar.AllInOneActivity.java

@Override
protected void onCreate(Bundle icicle) {
    if (Utils.getSharedPreference(this, OtherPreferences.KEY_OTHER_1, false)) {
        setTheme(R.style.CalendarTheme_WithActionBarWallpaper);
    }//  www.j a  v a2s.c  o  m
    super.onCreate(icicle);

    if (icicle != null && icicle.containsKey(BUNDLE_KEY_CHECK_ACCOUNTS)) {
        mCheckForAccounts = icicle.getBoolean(BUNDLE_KEY_CHECK_ACCOUNTS);
    }
    // Launch add google account if this is first time and there are no
    // accounts yet
    if (mCheckForAccounts && !Utils.getSharedPreference(this, GeneralPreferences.KEY_SKIP_SETUP, false)) {

        mHandler = new QueryHandler(this.getContentResolver());
        mHandler.startQuery(0, null, Calendars.CONTENT_URI, new String[] { Calendars._ID }, null,
                null /* selection args */, null /* sort order */);
    }

    // This needs to be created before setContentView
    mController = CalendarController.getInstance(this);

    // Get time from intent or icicle
    long timeMillis = -1;
    int viewType = -1;
    final Intent intent = getIntent();
    if (icicle != null) {
        timeMillis = icicle.getLong(BUNDLE_KEY_RESTORE_TIME);
        viewType = icicle.getInt(BUNDLE_KEY_RESTORE_VIEW, -1);
    } else {
        String action = intent.getAction();
        if (Intent.ACTION_VIEW.equals(action)) {
            // Open EventInfo later
            timeMillis = parseViewAction(intent);
        }

        if (timeMillis == -1) {
            timeMillis = Utils.timeFromIntentInMillis(intent);
        }
    }

    if (viewType == -1 || viewType > ViewType.MAX_VALUE) {
        viewType = Utils.getViewTypeFromIntentAndSharedPref(this);
    }
    mTimeZone = Utils.getTimeZone(this, mHomeTimeUpdater);
    Time t = new Time(mTimeZone);
    t.set(timeMillis);

    if (DEBUG) {
        if (icicle != null && intent != null) {
            Log.d(TAG, "both, icicle:" + icicle.toString() + "  intent:" + intent.toString());
        } else {
            Log.d(TAG, "not both, icicle:" + icicle + " intent:" + intent);
        }
    }

    Resources res = getResources();
    mHideString = res.getString(R.string.hide_controls);
    mShowString = res.getString(R.string.show_controls);
    mOrientation = res.getConfiguration().orientation;
    if (mOrientation == Configuration.ORIENTATION_LANDSCAPE) {
        mControlsAnimateWidth = (int) res.getDimension(R.dimen.calendar_controls_width);
        if (mControlsParams == null) {
            mControlsParams = new LayoutParams(mControlsAnimateWidth, 0);
        }
        mControlsParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
    } else {
        // Make sure width is in between allowed min and max width values
        mControlsAnimateWidth = Math.max(res.getDisplayMetrics().widthPixels * 45 / 100,
                (int) res.getDimension(R.dimen.min_portrait_calendar_controls_width));
        mControlsAnimateWidth = Math.min(mControlsAnimateWidth,
                (int) res.getDimension(R.dimen.max_portrait_calendar_controls_width));
    }

    mControlsAnimateHeight = (int) res.getDimension(R.dimen.calendar_controls_height);

    mHideControls = !Utils.getSharedPreference(this, GeneralPreferences.KEY_SHOW_CONTROLS, true);
    mIsMultipane = Utils.getConfigBool(this, R.bool.multiple_pane_config);
    mIsTabletConfig = Utils.getConfigBool(this, R.bool.tablet_config);
    mShowAgendaWithMonth = Utils.getConfigBool(this, R.bool.show_agenda_with_month);
    mShowCalendarControls = Utils.getConfigBool(this, R.bool.show_calendar_controls);
    mShowEventDetailsWithAgenda = Utils.getConfigBool(this, R.bool.show_event_details_with_agenda);
    mShowEventInfoFullScreenAgenda = Utils.getConfigBool(this, R.bool.agenda_show_event_info_full_screen);
    mShowEventInfoFullScreen = Utils.getConfigBool(this, R.bool.show_event_info_full_screen);
    mCalendarControlsAnimationTime = res.getInteger(R.integer.calendar_controls_animation_time);
    Utils.setAllowWeekForDetailView(mIsMultipane);

    // setContentView must be called before configureActionBar
    setContentView(R.layout.all_in_one);

    if (mIsTabletConfig) {
        mDateRange = (TextView) findViewById(R.id.date_bar);
        mWeekTextView = (TextView) findViewById(R.id.week_num);
    } else {
        mDateRange = (TextView) getLayoutInflater().inflate(R.layout.date_range_title, null);
    }

    // configureActionBar auto-selects the first tab you add, so we need to
    // call it before we set up our own fragments to make sure it doesn't
    // overwrite us
    configureActionBar(viewType);

    mHomeTime = (TextView) findViewById(R.id.home_time);
    mMiniMonth = findViewById(R.id.mini_month);
    if (mIsTabletConfig && mOrientation == Configuration.ORIENTATION_PORTRAIT) {
        mMiniMonth.setLayoutParams(
                new RelativeLayout.LayoutParams(mControlsAnimateWidth, mControlsAnimateHeight));
    }
    mCalendarsList = findViewById(R.id.calendar_list);
    mMiniMonthContainer = findViewById(R.id.mini_month_container);
    mSecondaryPane = findViewById(R.id.secondary_pane);

    // Must register as the first activity because this activity can modify
    // the list of event handlers in it's handle method. This affects who
    // the rest of the handlers the controller dispatches to are.
    mController.registerFirstEventHandler(HANDLER_KEY, this);

    initFragments(timeMillis, viewType, icicle);

    // Listen for changes that would require this to be refreshed
    SharedPreferences prefs = GeneralPreferences.getSharedPreferences(this);
    prefs.registerOnSharedPreferenceChangeListener(this);

    mContentResolver = getContentResolver();
}

From source file:com.android.calendar.AllInOneActivity.java

public void setupFloatingActionButton() {
    mFab.setOnClickListener(new View.OnClickListener() {
        @Override//from   w  w w  .  j av a  2 s.c o m
        public void onClick(View v) {
            //Create new Event
            Time t = new Time();
            t.set(mController.getTime());
            if (t.minute > 30) {
                t.hour++;
                t.minute = 0;
            } else if (t.minute > 0 && t.minute < 30) {
                t.minute = 30;
            }
            mController.sendEventRelatedEvent(this, EventType.CREATE_EVENT, -1, t.toMillis(true), 0, 0, 0, -1);
        }
    });
}

From source file:com.android.calendar.AllInOneActivity.java

@Override
protected void onNewIntent(Intent intent) {
    String action = intent.getAction();
    if (DEBUG)//from   w ww. ja  va  2 s.  co  m
        Log.d(TAG, "New intent received " + intent.toString());
    // Don't change the date if we're just returning to the app's home
    if (Intent.ACTION_VIEW.equals(action) && !intent.getBooleanExtra(Utils.INTENT_KEY_HOME, false)) {
        long millis = parseViewAction(intent);
        if (millis == -1) {
            millis = Utils.timeFromIntentInMillis(intent);
        }
        if (millis != -1 && mViewEventId == -1 && mController != null) {
            Time time = new Time(mTimeZone);
            time.set(millis);
            time.normalize(true);
            mController.sendEvent(this, EventType.GO_TO, time, time, -1, ViewType.CURRENT);
        }
    }
}

From source file:com.jogden.spunkycharts.traditionalchart.TraditionalChartFragmentAdapter.java

@Override
public void bridge(DataClientInterface dataClient, DataConsumerInterface.InsertCallback iCallback) {
    _updateReady.set(false);/*  w w w  . j av a 2s.  c  o  m*/
    iCallback.clear(_symbol, (DataConsumerInterface) this);

    Pair<OHLC[], Time> pricePair = dataClient.getBulk(_symbol, null, DataClientLocalDebug.DATA_PRICE_DEF);
    Pair<Integer[], Time> volPair = dataClient.getBulk(_symbol, null, DataClientLocalDebug.DATA_VOL_DEF);

    final OHLC[] prices = pricePair.first;
    final Integer[] vols = volPair.first;
    int len = vols.length;
    if (prices.length != len)
        throw new IllegalStateException("price / volume getBulk size inconconsistency");

    _updateTime.set(pricePair.second);
    --len;
    long endMs = _updateTime.toMillis(true);
    endMs /= GMS;
    endMs *= GMS;
    List<ContentValues> valsList = new ArrayList<ContentValues>();
    Time t = new Time();
    for (int i = 0; i < len; ++i) {
        t.set(endMs - ((len - i) * GMS));
        valsList.add(_createContentValues(prices[i], vols[i], t)); /*
                                                                   Log.d("Data-Consumer-Get-Bulk", 
                                                                   prices[i].toString() +"   " +
                                                                   String.valueOf(vols[i]) + "   " + 
                                                                   t.format("%H:%M:%S")); */
    }

    final long fEndMs = endMs;
    final int lastIndx = len;
    (new Thread() {
        public void run() {
            final int INCR = ApplicationPreferences.getTimeoutIncrement();
            /* THIS HAS TO WAIT FOR POPULATE */
            while (!_streamReady.get())
                try {
                    Thread.sleep(INCR);
                } catch (InterruptedException e) {
                }
            /* INITIALIZE OUR CACHE VALUES */
            OHLC price = prices[lastIndx];
            _lastPriceSeg.close = price.close;
            if (price.high > _lastPriceSeg.high)
                _lastPriceSeg.high = price.high;
            if (price.low < _lastPriceSeg.low)
                _lastPriceSeg.low = price.low;
            _lastVolSeg += vols[lastIndx];
            _lastGranularPriceSeg = new OHLC(price);
            _lastGranularVolSeg = vols[lastIndx];
            _lastGranularSegTime.set(fEndMs);
            _updateReady.set(true);
        }
    }).start();

    iCallback.insertRows(valsList, _symbol, (DataConsumerInterface) this);

}

From source file:com.android.calendar.AllInOneActivity.java

@Override
protected void onResume() {
    super.onResume();
    dynamicTheme.onResume(this);

    // Must register as the first activity because this activity can modify
    // the list of event handlers in it's handle method. This affects who
    // the rest of the handlers the controller dispatches to are.
    mController.registerFirstEventHandler(HANDLER_KEY, this);

    mOnSaveInstanceStateCalled = false;//ww w .  j av  a2s. c  o m
    mContentResolver.registerContentObserver(CalendarContract.Events.CONTENT_URI, true, mObserver);
    if (mUpdateOnResume) {
        initFragments(mController.getTime(), mController.getViewType(), null);
        mUpdateOnResume = false;
    }
    Time t = new Time(mTimeZone);
    t.set(mController.getTime());
    mController.sendEvent(this, EventType.UPDATE_TITLE, t, t, -1, ViewType.CURRENT, mController.getDateFlags(),
            null, null);

    if (mControlsMenu != null) {
        mControlsMenu.setTitle(mHideControls ? mShowString : mHideString);
    }
    mPaused = false;

    if (mViewEventId != -1 && mIntentEventStartMillis != -1 && mIntentEventEndMillis != -1) {
        long currentMillis = System.currentTimeMillis();
        long selectedTime = -1;
        if (currentMillis > mIntentEventStartMillis && currentMillis < mIntentEventEndMillis) {
            selectedTime = currentMillis;
        }
        mController.sendEventRelatedEventWithExtra(this, EventType.VIEW_EVENT, mViewEventId,
                mIntentEventStartMillis, mIntentEventEndMillis, -1, -1,
                EventInfo.buildViewExtraLong(mIntentAttendeeResponse, mIntentAllDay), selectedTime);
        mViewEventId = -1;
        mIntentEventStartMillis = -1;
        mIntentEventEndMillis = -1;
        mIntentAllDay = false;
    }
    Utils.setMidnightUpdater(mHandler, mTimeChangesUpdater, mTimeZone);
    // Make sure the today icon is up to date
    invalidateOptionsMenu();

    mCalIntentReceiver = Utils.setTimeChangesReceiver(this, mTimeChangesUpdater);
}

From source file:cw.kop.autobackground.settings.WearSettingsFragment.java

private void drawDigital() {

    canvas = surfaceView.getHolder().lockCanvas();

    if (canvas == null) {
        return;/* w  w  w . j  a  v  a  2  s. c o m*/
    }

    setPaints();

    Time time = new Time();
    time.setToNow();
    time.set(time.toMillis(false) + timeOffset);

    float centerX = watchContainer.getWidth() * 0.222f;
    float centerY = watchContainer.getHeight() * 0.222f;

    if (imageBitmap != null) {
        canvas.drawBitmap(imageBitmap, 0, 0, bitmapPaint);
    }

    float x = xOffset + (time.hour < 10 ? hourPaint.measureText("0") : 0);
    float hourWidth = hourPaint.measureText("" + time.hour);
    float minuteWidth = minutePaint.measureText(String.format("%02d", time.minute));

    canvas.drawText("" + time.hour, x - 2.0f, centerY - 2.0f, hourShadowPaint);
    canvas.drawText("" + time.hour, x, centerY, hourPaint);
    x += hourPaint.measureText("" + time.hour);

    canvas.drawText(timeSeparator, x - 2.0f, centerY - 2.0f, separatorShadowPaint);
    canvas.drawText(timeSeparator, x, centerY, separatorPaint);
    x += separatorWidth;

    canvas.drawText(String.format("%02d", time.minute), x - 2.0f, centerY - 2.0f, minuteShadowPaint);
    canvas.drawText(String.format("%02d", time.minute), x, centerY, minutePaint);
    x += minutePaint.measureText(String.format("%02d", time.minute));

    canvas.drawText(timeSeparator, x - 2.0f, centerY - 2.0f, separatorShadowPaint);
    canvas.drawText(timeSeparator, x, centerY, separatorPaint);
    x += separatorWidth;

    canvas.drawText(String.format("%02d", time.second), x - 2.0f, centerY - 2.0f, secondShadowPaint);
    canvas.drawText(String.format("%02d", time.second), x, centerY, secondPaint);

    surfaceView.getHolder().unlockCanvasAndPost(canvas);
}

From source file:com.android.calendar.AllInOneActivity.java

private void updateSecondaryTitleFields(long visibleMillisSinceEpoch) {
    mShowWeekNum = Utils.getShowWeekNumber(this);
    mTimeZone = Utils.getTimeZone(this, mHomeTimeUpdater);
    if (visibleMillisSinceEpoch != -1) {
        int weekNum = Utils.getWeekNumberFromTime(visibleMillisSinceEpoch, this);
        mWeekNum = weekNum;/*from  w  w  w .  j  a v a 2s . c  o m*/
    }

    if (mShowWeekNum && (mCurrentView == ViewType.WEEK) && mIsTabletConfig && mWeekTextView != null) {
        String weekString = getResources().getQuantityString(R.plurals.weekN, mWeekNum, mWeekNum);
        mWeekTextView.setText(weekString);
        mWeekTextView.setVisibility(View.VISIBLE);
    } else if (visibleMillisSinceEpoch != -1 && mWeekTextView != null && mCurrentView == ViewType.DAY
            && mIsTabletConfig) {
        Time time = new Time(mTimeZone);
        time.set(visibleMillisSinceEpoch);
        int julianDay = Time.getJulianDay(visibleMillisSinceEpoch, time.gmtoff);
        time.setToNow();
        int todayJulianDay = Time.getJulianDay(time.toMillis(false), time.gmtoff);
        String dayString = Utils.getDayOfWeekString(julianDay, todayJulianDay, visibleMillisSinceEpoch, this);
        mWeekTextView.setText(dayString);
        mWeekTextView.setVisibility(View.VISIBLE);
    } else if (mWeekTextView != null && (!mIsTabletConfig || mCurrentView != ViewType.DAY)) {
        mWeekTextView.setVisibility(View.GONE);
    }

    if (mHomeTime != null
            && (mCurrentView == ViewType.DAY || mCurrentView == ViewType.WEEK
                    || mCurrentView == ViewType.AGENDA)
            && !TextUtils.equals(mTimeZone, Time.getCurrentTimezone())) {
        Time time = new Time(mTimeZone);
        time.setToNow();
        long millis = time.toMillis(true);
        boolean isDST = time.isDst != 0;
        int flags = DateUtils.FORMAT_SHOW_TIME;
        if (DateFormat.is24HourFormat(this)) {
            flags |= DateUtils.FORMAT_24HOUR;
        }
        // Formats the time as
        String timeString = (new StringBuilder(Utils.formatDateRange(this, millis, millis, flags))).append(" ")
                .append(TimeZone.getTimeZone(mTimeZone).getDisplayName(isDST, TimeZone.SHORT,
                        Locale.getDefault()))
                .toString();
        mHomeTime.setText(timeString);
        mHomeTime.setVisibility(View.VISIBLE);
        // Update when the minute changes
        mHomeTime.removeCallbacks(mHomeTimeUpdater);
        mHomeTime.postDelayed(mHomeTimeUpdater,
                DateUtils.MINUTE_IN_MILLIS - (millis % DateUtils.MINUTE_IN_MILLIS));
    } else if (mHomeTime != null) {
        mHomeTime.setVisibility(View.GONE);
    }
}