blob: 43015f637f574609de15fc75412bb18443b1c6d3 [file] [log] [blame]
/*
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.calendar;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.text.format.Time;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.ProgressBar;
import android.widget.ViewSwitcher;
public class WeekActivity extends CalendarActivity implements ViewSwitcher.ViewFactory {
/**
* The view id used for all the views we create. It's OK to have all child
* views have the same ID. This ID is used to pick which view receives
* focus when a view hierarchy is saved / restore
*/
private static final int VIEW_ID = 1;
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.week_activity);
mSelectedDay = Utils.timeFromIntent(getIntent());
mViewSwitcher = (ViewSwitcher) findViewById(R.id.switcher);
mViewSwitcher.setFactory(this);
mViewSwitcher.getCurrentView().requestFocus();
mProgressBar = (ProgressBar) findViewById(R.id.progress_circular);
}
public View makeView() {
WeekView wv = new WeekView(this);
wv.setId(VIEW_ID);
wv.setLayoutParams(new ViewSwitcher.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
wv.setSelectedDay(mSelectedDay);
return wv;
}
@Override
protected void onNewIntent(Intent intent) {
long timeMillis = Utils.timeFromIntentInMillis(intent);
if (timeMillis > 0) {
Time time = new Time();
time.set(timeMillis);
goTo(time, false);
}
}
@Override
protected void onResume() {
super.onResume();
CalendarView view1 = (CalendarView) mViewSwitcher.getCurrentView();
CalendarView view2 = (CalendarView) mViewSwitcher.getNextView();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String str = prefs.getString(CalendarPreferenceActivity.KEY_DETAILED_VIEW,
CalendarPreferenceActivity.DEFAULT_DETAILED_VIEW);
view1.setDetailedView(str);
view2.setDetailedView(str);
}
@Override
protected void onPause() {
super.onPause();
CalendarView view = (CalendarView) mViewSwitcher.getCurrentView();
mSelectedDay = view.getSelectedDay();
// Record Week View as the (new) start view
Utils.setDefaultView(this, CalendarApplication.WEEK_VIEW_ID);
}
}