Example usage for android.text.format Time Time

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

Introduction

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

Prototype

public Time(Time other) 

Source Link

Document

A copy constructor.

Usage

From source file:com.codetroopers.betterpickers.recurrencepicker.RecurrencePickerDialogFragment.java

@Override
public void onDateSet(CalendarDatePickerDialogFragment view, int year, int monthOfYear, int dayOfMonth) {
    if (mModel.endDate == null) {
        mModel.endDate = new Time(mTime.timezone);
        mModel.endDate.hour = mModel.endDate.minute = mModel.endDate.second = 0;
    }/*from  w  ww .  ja  v a  2 s  .co  m*/
    mModel.endDate.year = year;
    mModel.endDate.month = monthOfYear;
    mModel.endDate.monthDay = dayOfMonth;
    mModel.endDate.normalize(false);
    updateDialog();
}

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;// w w  w .  jav a  2 s  .c  om
    }

    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);
    }
}

From source file:com.code44.finance.ui.dialogs.recurrencepicker.RecurrencePickerDialogFragment.java

@Subscribe
public void onDateSet(DatePickerDialog.DateSelected dateSelected) {
    switch (dateSelected.getRequestCode()) {
    case START_DATE:
        if (mModel.startDate == null) {
            mModel.startDate = new Time(mTime.timezone);
            mModel.startDate.hour = mModel.startDate.minute = mModel.startDate.second = 0;
        }//w  ww  .j  a  v  a 2 s . c o  m
        mModel.startDate.year = dateSelected.getYear();
        mModel.startDate.month = dateSelected.getMonthOfYear() - 1;
        mModel.startDate.monthDay = dateSelected.getDayOfMonth();
        mModel.startDate.normalize(false);
        updateDialog();
        break;

    case END_DATE:
        if (mModel.endDate == null) {
            mModel.endDate = new Time(mTime.timezone);
            mModel.endDate.hour = mModel.endDate.minute = mModel.endDate.second = 0;
        }
        mModel.endDate.year = dateSelected.getYear();
        mModel.endDate.month = dateSelected.getMonthOfYear() - 1;
        mModel.endDate.monthDay = dateSelected.getDayOfMonth();
        mModel.endDate.normalize(false);
        updateDialog();
        break;
    }
}

From source file:com.appeaser.sublimepickerlibrary.recurrencepicker.RecurrenceOptionCreator.java

@Override
public void onDateSet(RecurrenceEndDatePicker view, int year, int monthOfYear, int dayOfMonth) {
    showRecurrencePicker();/*from  w  w  w .ja  v  a2 s .c  om*/

    if (mModel.endDate == null) {
        mModel.endDate = new Time(mTime.timezone);
        mModel.endDate.hour = mModel.endDate.minute = mModel.endDate.second = 0;
    }
    mModel.endDate.year = year;
    mModel.endDate.month = monthOfYear;
    mModel.endDate.monthDay = dayOfMonth;
    mModel.endDate.normalize(false);
    updateDialog();
}

From source file:es.usc.citius.servando.calendula.fragments.ScheduleImportFragment.java

@Override
public void onRecurrenceSet(String s) {

    EventRecurrence event = new EventRecurrence();

    LocalDate now = LocalDate.now();
    Time startDate = new Time(Time.getCurrentTimezone());
    startDate.set(now.getDayOfMonth(), now.getMonthOfYear(), now.getYear());
    startDate.normalize(true);/*  w  w w  .j ava2s. c om*/
    event.parse(s);
    event.setStartDate(startDate);

    Log.d(TAG, "OnRecurrenceSet: " + event.startDate);

    schedule.setRepetition(new RepetitionRule("RRULE:" + s));
    setScheduleStart(schedule.start());
    LocalDate end = schedule.end();
    Log.d(TAG, "ICAL: " + schedule.rule().toIcal());
    setScheduleEnd(end);
    Log.d(TAG, "ICAL: " + schedule.rule().toIcal());
    ruleText.setText(getCurrentSchedule());
}

From source file:de.tum.in.tumcampus.auxiliary.calendar.DayView.java

private void doSingleTapUp(MotionEvent ev) {
    if (!mHandleActionUp || mScrolling) {
        return;//  w ww.  j ava2  s . com
    }

    int x = (int) ev.getX();
    int y = (int) ev.getY();

    boolean validPosition = setSelectionFromPosition(x, y, false);
    if (!validPosition) {
        if (y < DAY_HEADER_HEIGHT) {
            Time selectedTime = new Time(mBaseDate);
            selectedTime.setJulianDay(mSelectionDay);
            selectedTime.hour = mSelectionHour;
            selectedTime.normalize(true /* ignore isDst */);
        }
        return;
    }

    if (mSelectedEvent != null) {
        long clearDelay = (CLICK_DISPLAY_DURATION + mOnDownDelay)
                - (System.currentTimeMillis() - mDownTouchTime);
        if (clearDelay > 0) {
            this.postDelayed(mClearClick, clearDelay);
        } else {
            this.post(mClearClick);
        }

    }
    invalidate();
}

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

private void updateEvent(View view) {
    if (mEventCursor == null || view == null) {
        return;/* w ww  . ja  v  a  2  s.c o m*/
    }

    Context context = view.getContext();
    if (context == null) {
        return;
    }

    String eventName = mEventCursor.getString(EVENT_INDEX_TITLE);
    if (eventName == null || eventName.length() == 0) {
        eventName = getActivity().getString(R.string.no_title_label);
    }

    // 3rd parties might not have specified the start/end time when firing the
    // Events.CONTENT_URI intent.  Update these with values read from the db.
    if (mStartMillis == 0 && mEndMillis == 0) {
        mStartMillis = mEventCursor.getLong(EVENT_INDEX_DTSTART);
        mEndMillis = mEventCursor.getLong(EVENT_INDEX_DTEND);
        if (mEndMillis == 0) {
            String duration = mEventCursor.getString(EVENT_INDEX_DURATION);
            if (!TextUtils.isEmpty(duration)) {
                try {
                    Duration d = new Duration();
                    d.parse(duration);
                    long endMillis = mStartMillis + d.getMillis();
                    if (endMillis >= mStartMillis) {
                        mEndMillis = endMillis;
                    } else {
                        Log.d(TAG, "Invalid duration string: " + duration);
                    }
                } catch (DateException e) {
                    Log.d(TAG, "Error parsing duration string " + duration, e);
                }
            }
            if (mEndMillis == 0) {
                mEndMillis = mStartMillis;
            }
        }
    }

    mAllDay = mEventCursor.getInt(EVENT_INDEX_ALL_DAY) != 0;
    String location = mEventCursor.getString(EVENT_INDEX_EVENT_LOCATION);
    String description = mEventCursor.getString(EVENT_INDEX_DESCRIPTION);
    String rRule = mEventCursor.getString(EVENT_INDEX_RRULE);
    String eventTimezone = mEventCursor.getString(EVENT_INDEX_EVENT_TIMEZONE);

    mHeadlines.setBackgroundColor(mCurrentColor);

    // What
    if (eventName != null) {
        setTextCommon(view, R.id.title, eventName);
    }

    // When
    // Set the date and repeats (if any)
    String localTimezone = Utils.getTimeZone(mActivity, mTZUpdater);

    Resources resources = context.getResources();
    String displayedDatetime = Utils.getDisplayedDatetime(mStartMillis, mEndMillis, System.currentTimeMillis(),
            localTimezone, mAllDay, context);

    String displayedTimezone = null;
    if (!mAllDay) {
        displayedTimezone = Utils.getDisplayedTimezone(mStartMillis, localTimezone, eventTimezone);
    }
    // Display the datetime.  Make the timezone (if any) transparent.
    if (displayedTimezone == null) {
        setTextCommon(view, R.id.when_datetime, displayedDatetime);
    } else {
        int timezoneIndex = displayedDatetime.length();
        displayedDatetime += "  " + displayedTimezone;
        SpannableStringBuilder sb = new SpannableStringBuilder(displayedDatetime);
        ForegroundColorSpan transparentColorSpan = new ForegroundColorSpan(
                resources.getColor(R.color.event_info_headline_transparent_color));
        sb.setSpan(transparentColorSpan, timezoneIndex, displayedDatetime.length(),
                Spannable.SPAN_INCLUSIVE_INCLUSIVE);
        setTextCommon(view, R.id.when_datetime, sb);
    }

    // Display the repeat string (if any)
    String repeatString = null;
    if (!TextUtils.isEmpty(rRule)) {
        EventRecurrence eventRecurrence = new EventRecurrence();
        eventRecurrence.parse(rRule);
        Time date = new Time(localTimezone);
        date.set(mStartMillis);
        if (mAllDay) {
            date.timezone = Time.TIMEZONE_UTC;
        }
        eventRecurrence.setStartDate(date);
        repeatString = EventRecurrenceFormatter.getRepeatString(mContext, resources, eventRecurrence, true);
    }
    if (repeatString == null) {
        view.findViewById(R.id.when_repeat).setVisibility(View.GONE);
    } else {
        setTextCommon(view, R.id.when_repeat, repeatString);
    }

    // Organizer view is setup in the updateCalendar method

    // Where
    if (location == null || location.trim().length() == 0) {
        setVisibilityCommon(view, R.id.where, View.GONE);
    } else {
        final TextView textView = mWhere;
        if (textView != null) {
            textView.setAutoLinkMask(0);
            textView.setText(location.trim());
            try {
                textView.setText(Utils.extendedLinkify(textView.getText().toString(), true));

                // Linkify.addLinks() sets the TextView movement method if it finds any links.
                // We must do the same here, in case linkify by itself did not find any.
                // (This is cloned from Linkify.addLinkMovementMethod().)
                MovementMethod mm = textView.getMovementMethod();
                if ((mm == null) || !(mm instanceof LinkMovementMethod)) {
                    if (textView.getLinksClickable()) {
                        textView.setMovementMethod(LinkMovementMethod.getInstance());
                    }
                }
            } catch (Exception ex) {
                // unexpected
                Log.e(TAG, "Linkification failed", ex);
            }

            textView.setOnTouchListener(new OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    try {
                        return v.onTouchEvent(event);
                    } catch (ActivityNotFoundException e) {
                        // ignore
                        return true;
                    }
                }
            });
        }
    }

    // Description
    if (description != null && description.length() != 0) {
        mDesc.setText(description);
    }

    // Launch Custom App
    if (Utils.isJellybeanOrLater()) {
        updateCustomAppButton();
    }
}