Code drop from //branches/cupcake/...@124589

This commit is contained in:
The Android Open Source Project 2008-12-17 18:05:53 -08:00
parent a390cbfd25
commit a9ea5e1627
63 changed files with 1333 additions and 2135 deletions

View File

@ -3,12 +3,14 @@ include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := user
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_SRC_FILES := $(call all-java-files-under,src)
# TODO: Remove dependency of application on the test runner (android.test.runner)
# library.
LOCAL_JAVA_LIBRARIES := android.test.runner
LOCAL_STATIC_JAVA_LIBRARIES := googlelogin-client
LOCAL_PACKAGE_NAME := Calendar
include $(BUILD_PACKAGE)

View File

@ -26,6 +26,7 @@
<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.mail" />
<application android:name="CalendarApplication"
android:label="@string/app_label" android:icon="@drawable/app_icon"

View File

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 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.
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="8dip"/>
<solid android:color="#ffffffff"/>
</shape>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 728 B

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 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.
*/
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android" type="line">
<stroke android:width="1dp" android:color="#ff000000" />
<padding android:left="0dp" android:top="1dp"
android:right="0dp" android:bottom="1dp" />
</shape>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 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.
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android" type="rectangle">
<solid android:color="#00000000"/>
<stroke android:width="1dp" android:color="#ff5782c3" />
<padding android:left="7dp" android:top="7dp"
android:right="7dp" android:bottom="7dp" />
<corners android:radius="8dp" />
</shape>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -44,7 +44,7 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="@color/black"
android:textColor="@android:color/black"
style="?android:attr/textAppearanceMediumInverse"
/>
@ -63,7 +63,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="@color/black"
android:textColor="@android:color/black"
style="?android:attr/textAppearanceSmallInverse"
/>
@ -88,7 +88,7 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="@color/black"
android:textColor="@android:color/black"
style="?android:attr/textAppearanceSmallInverse"
/>
</LinearLayout>

View File

@ -27,7 +27,7 @@
android:listSelector="@android:color/transparent"
android:divider="@null" />
<LinearLayout android:id="@+id/button_container"
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"

View File

@ -28,7 +28,7 @@
android:layout_marginRight="5dip"
android:background="@drawable/box_color_white" />
<LinearLayout android:id="@+id/alert_content"
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
@ -43,7 +43,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textStyle="bold"
android:textColor="@color/black"
android:textColor="@android:color/black"
style="?android:attr/textAppearanceMediumInverse" />
</LinearLayout>

View File

@ -15,13 +15,12 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/event"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:drawable/toast_frame">
<LinearLayout android:id="@+id/event_title_container"
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@ -41,18 +40,18 @@
style="@style/TextAppearance.Alert_Title" />
</LinearLayout>
<ImageView android:id="@+id/title_separator"
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/divider_horizontal_dark" />
<LinearLayout android:id="@+id/event_details"
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dip">
<LinearLayout android:id="@+id/when_container"
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
@ -70,7 +69,7 @@
style="@style/TextAppearance.Alert_Value" />
</LinearLayout>
<LinearLayout android:id="@+id/where_container"
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

View File

@ -24,7 +24,7 @@
<TextView android:id="@+id/event_title"
android:textStyle="bold"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
@ -50,14 +50,14 @@
/>
<TextView android:id="@+id/time"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<TextView android:id="@+id/where"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>

View File

@ -33,7 +33,6 @@
/>
<TextView android:id="@+id/calendar"
android:text="@string/calendar_item_calendar_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/textAppearanceLarge"

View File

@ -19,7 +19,7 @@
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<ImageView android:id="@+id/right_arrow"
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:src="@drawable/calendars_item"/>

View File

@ -25,7 +25,7 @@
android:layout_height="fill_parent">
<!-- WHAT -->
<LinearLayout android:id="@+id/what_container"
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@ -45,7 +45,7 @@
</LinearLayout>
<!-- WHEN -->
<View android:id="@+id/when_separator"
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark"
@ -105,7 +105,7 @@
</LinearLayout>
<!-- WHERE -->
<View android:id="@+id/where_separator"
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark"
@ -117,7 +117,7 @@
android:layout_height="wrap_content"
android:padding="5dip">
<TextView android:id="@+id/location_label"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/where_label"
@ -131,13 +131,13 @@
</LinearLayout>
<!-- DESCRIPTION -->
<View android:id="@+id/description_separator"
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark"
/>
<LinearLayout android:id="@+id/description_container"
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@ -164,7 +164,7 @@
android:background="@android:drawable/divider_horizontal_dark"
/>
<LinearLayout android:id="@+id/calendars_container"
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@ -181,8 +181,7 @@
<Spinner android:id="@+id/calendars"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/repeats_label"/>
android:layout_height="wrap_content" />
</LinearLayout>
<!-- REMINDERS -->
@ -215,13 +214,13 @@
</LinearLayout>
<!-- REPEATS -->
<View android:id="@+id/repeats_separator"
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark"
/>
<LinearLayout android:id="@+id/repeats_container"
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@ -249,13 +248,13 @@
android:visibility="gone">
<!-- PRESENCE -->
<View android:id="@+id/presense_separator"
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark"
/>
<LinearLayout android:id="@+id/presence_container"
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@ -277,13 +276,13 @@
</LinearLayout>
<!-- PRIVACY -->
<View android:id="@+id/privacy_separator"
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark"
/>
<LinearLayout android:id="@+id/privacy_container"
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
@ -306,13 +305,13 @@
</LinearLayout>
<!-- BUTTONS -->
<View android:id="@+id/buttons_separator"
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark"
/>
<LinearLayout android:id="@+id/buttons"
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"

View File

@ -1,433 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/event_background" >
<LinearLayout android:id="@+id/event"
android:orientation="vertical"
android:paddingLeft="15dip"
android:paddingRight="3dip"
android:paddingTop="3dip"
android:paddingBottom="15dip"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="1">
<TableRow>
<TextView android:id="@+id/what_label"
android:text="@string/what_label"
android:gravity="right|top"
android:textStyle="bold"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText android:id="@+id/event_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
<ImageView android:id="@+id/what_divider" android:scaleType="fitXY"
android:src="@drawable/section_divider"
android:layout_marginTop="4dip"
android:layout_marginBottom="4dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TableRow>
<TextView android:id="@+id/when_label"
android:text="@string/when_label"
android:gravity="right|top"
android:textStyle="bold"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<CheckBox android:id="@+id/all_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/all_day_event" />
</TableRow>
<TableRow>
<TextView android:id="@+id/from_label"
android:text="@string/from_label"
android:textColor="@drawable/label_foreground"
android:gravity="right|top"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.android.calendar.DateSpinner android:id="@+id/start_date_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
<TableRow>
<com.android.calendar.TimeSpinner android:id="@+id/start_time_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_column="1" />
</TableRow>
<TableRow>
<TextView android:id="@+id/to_label"
android:text="@string/to_label"
android:textColor="@drawable/label_foreground"
android:gravity="right|top"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.android.calendar.TimeSpinner android:id="@+id/end_time_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
<TableRow>
<TextView android:id="@+id/to_date_label"
android:text="@string/to_label"
android:textColor="@drawable/label_foreground"
android:gravity="right|top"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.android.calendar.DateSpinner android:id="@+id/end_date_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
<ImageView android:id="@+id/when_divider" android:scaleType="fitXY"
android:src="@drawable/section_divider"
android:layout_marginTop="4dip"
android:layout_marginBottom="4dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TableRow android:id="@+id/where_row">
<TextView android:id="@+id/where_label"
android:text="@string/where_label"
android:gravity="right|top"
android:textStyle="bold"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText android:id="@+id/where"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
<ImageView android:id="@+id/where_divider" android:scaleType="fitXY"
android:src="@drawable/section_divider"
android:layout_marginTop="4dip"
android:layout_marginBottom="4dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TableRow>
<TextView android:id="@+id/reminder_label"
android:gravity="right|top"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="10dip"
android:text="@string/reminder" />
<Spinner android:id="@+id/reminder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/reminder_minutes_labels" />
</TableRow>
<ImageView android:id="@+id/reminder_divider" android:scaleType="fitXY"
android:src="@drawable/section_divider"
android:layout_marginTop="4dip"
android:layout_marginBottom="4dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TableRow>
<ImageView android:id="@+id/calendar_icon"
android:layout_marginTop="4dip"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/sym_calendar_event" />
<Spinner android:id="@+id/calendars"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
<ImageView android:id="@+id/calendar_divider" android:scaleType="fitXY"
android:src="@drawable/section_divider"
android:layout_marginTop="4dip"
android:layout_marginBottom="4dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TableRow>
<TextView android:id="@+id/repeats_label"
android:text="@string/repeats_label"
android:gravity="right|top"
android:textStyle="bold"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Spinner android:id="@+id/repeats"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/repeat_strings" />
</TableRow>
<TableRow android:id="@+id/every_row">
<TextView android:id="@+id/every_label"
android:text="@string/every_label"
android:gravity="right|top"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Spinner android:id="@+id/every"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
<TableRow android:id="@+id/on_row">
<TextView android:id="@+id/on_label"
android:text="@string/on_label"
android:gravity="right|top"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox android:id="@+id/on_sunday"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="@string/sunday_letter"
android:textStyle="bold"
android:paddingLeft="3dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox android:id="@+id/on_monday"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="@string/monday_letter"
android:textStyle="bold"
android:paddingLeft="3dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox android:id="@+id/on_tuesday"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="@string/tuesday_letter"
android:textStyle="bold"
android:paddingLeft="3dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox android:id="@+id/on_wednesday"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="@string/wednesday_letter"
android:textStyle="bold"
android:paddingLeft="3dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox android:id="@+id/on_thursday"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="@string/thursday_letter"
android:textStyle="bold"
android:paddingLeft="3dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox android:id="@+id/on_friday"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="@string/friday_letter"
android:textStyle="bold"
android:paddingLeft="3dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox android:id="@+id/on_saturday"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="@string/saturday_letter"
android:textStyle="bold"
android:paddingLeft="3dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
</TableRow>
<TableRow android:id="@+id/month_row">
<TextView
android:text="@string/repeat_on_label"
android:gravity="right|top"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<RadioGroup android:id="@+id/repeat_on_radio_group"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton android:id="@+id/day_of_week" />
<RadioButton android:id="@+id/day_of_month" />
</RadioGroup>
</TableRow>
<TableRow android:id="@+id/until_row">
<LinearLayout
android:orientation="horizontal"
android:gravity="right"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox android:id="@+id/until"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/until" />
</LinearLayout>
<com.android.calendar.DateSpinner android:id="@+id/until_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
<ImageView android:id="@+id/repeats_divider" android:scaleType="fitXY"
android:src="@drawable/section_divider"
android:layout_marginTop="4dip"
android:layout_marginBottom="4dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TableRow>
<TextView android:id="@+id/notes_label"
android:text="@string/notes_label"
android:gravity="right|top"
android:textStyle="bold"
android:paddingRight="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText android:id="@+id/notes"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
<TableRow>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_column="1">
<Button android:id="@+id/done"
android:layout_marginTop="8dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/done_label" />
<Button android:id="@+id/options"
android:layout_marginTop="8dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/more_options_label" />
</LinearLayout>
</TableRow>
</TableLayout>
</LinearLayout>
</ScrollView>

View File

@ -17,7 +17,7 @@
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/event_background" >
android:background="@color/event_background" >
<LinearLayout android:id="@+id/import_ics"
android:orientation="vertical"
@ -68,7 +68,7 @@
android:layout_marginTop="8dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cancel_label" />
android:text="@android:string/cancel" />
</LinearLayout>
</LinearLayout>
</ScrollView>

View File

@ -55,7 +55,7 @@
<LinearLayout android:id="@+id/day_names"
android:orientation="horizontal"
android:background="@drawable/daynames_background"
android:background="@color/daynames_background"
android:layout_width="fill_parent"
android:layout_height="23dip" >

View File

@ -30,7 +30,7 @@
<TableRow android:id="@+id/item_layout0">
<TextView android:id="@+id/time0"
android:paddingRight="10dip"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
@ -38,7 +38,7 @@
android:singleLine="true"
android:ellipsize="end"
android:textStyle="bold"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
@ -46,7 +46,7 @@
<TableRow android:id="@+id/item_layout1">
<TextView android:id="@+id/time1"
android:paddingRight="10dip"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
@ -54,7 +54,7 @@
android:singleLine="true"
android:ellipsize="end"
android:textStyle="bold"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
@ -62,7 +62,7 @@
<TableRow android:id="@+id/item_layout2">
<TextView android:id="@+id/time2"
android:paddingRight="10dip"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
@ -70,7 +70,7 @@
android:singleLine="true"
android:ellipsize="end"
android:textStyle="bold"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
@ -78,7 +78,7 @@
<TableRow android:id="@+id/item_layout3">
<TextView android:id="@+id/time3"
android:paddingRight="10dip"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
@ -86,7 +86,7 @@
android:singleLine="true"
android:ellipsize="end"
android:textStyle="bold"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
@ -95,7 +95,7 @@
<TextView android:id="@+id/plus_more"
android:singleLine="true"
android:textStyle="bold"
android:textColor="@drawable/panel_text_foreground"
android:textColor="@color/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>

View File

@ -1,86 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/event_layout"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="1">
<TableRow>
<TextView android:id="@+id/what_label"
android:text="@string/what_label"
android:gravity="right"
android:paddingRight="10dip"
android:textColor="@drawable/panel_label_foreground"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView android:id="@+id/event_title" android:autoLink="all"
android:textColor="@drawable/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
<TableRow>
<TextView android:id="@+id/when_label"
android:text="@string/when_label"
android:gravity="right"
android:paddingRight="10dip"
android:textColor="@drawable/panel_label_foreground"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/date"
android:textColor="@drawable/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView android:id="@+id/time"
android:textColor="@drawable/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</TableRow>
<TableRow>
<TextView android:id="@+id/where_label"
android:text="@string/where_label"
android:gravity="right"
android:paddingRight="10dip"
android:textColor="@drawable/panel_label_foreground"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView android:id="@+id/where" android:autoLink="all"
android:textColor="@drawable/panel_text_foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</TableRow>
</TableLayout>
</LinearLayout>

View File

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ImageView android:id="@+id/reminder_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_alarm_white"
android:focusable="false"
android:clickable="false"
/>
<TextView android:id="@+id/reminder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/TextAppearance.EditEvent_Value"
/>
</LinearLayout>

View File

@ -1,113 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="add_calendars">"Přidat kalendáře"</string>
<string name="agenda_view">"Program jednání"</string>
<string name="agenda_when_label">Kdy\u2026</string>
<string name="agenda_where_label">Kde\u2026</string>
<string name="alert_missed_events_multiple">a <xliff:g id="reminder_count">%s</xliff:g> dalších připomenutí</string>
<string name="alert_missed_events_single">a <xliff:g id="reminder_count">%s</xliff:g> další připomenutí</string>
<string name="alert_when_label">Kdy:</string>
<string name="alert_where_label">Kde:</string>
<string name="all_day_event">Celodenní událost</string>
<string name="app_label">Kalendář</string>
<string name="calendars_title">"Kalendáře"</string>
<string name="cancel_label">"Storno"</string>
<string name="custom">"Vlastní\u2026 (nelze přizpůsobit v zařízení)"</string>
<string name="daily">Denně</string>
<string name="day_view">"Zobrazení dne"</string>
<string name="delete_label">"Odstranit událost"</string>
<string name="description_label">Popis</string>
<string name="discard_label">Zrušit změny</string>
<string name="dismiss_all_label">"Zavřít vše"</string>
<string name="dismiss_label">"Zavřít"</string>
<string name="does_not_repeat">Neopakovat</string>
<string name="done_label">"Hotovo"</string>
<string name="edit_event_all_day_label">Celý den</string>
<string name="edit_event_calendar_label">Kalendář</string>
<string name="edit_event_from_label">Od</string>
<string name="edit_event_hide_extra_options">Skrýt doplňkové možnosti</string>
<string name="edit_event_show_extra_options">Zobrazit doplňkové možnosti</string>
<string name="edit_event_to_label">Do</string>
<string name="event_create">"Nová událost"</string>
<string name="event_delete">"Odstranit událost"</string>
<string name="event_edit">"Upravit událost"</string>
<string name="event_edit_title">"Podrobnosti o události"</string>
<string name="event_info_title">Zobrazit událost</string>
<string name="event_info_title_invite">Pozvánka na schůzku</string>
<string name="event_view">"Zobrazit událost"</string>
<string name="every_label">"Každý"</string>
<string name="every_weekday">"Každý den v týdnu (Po\u2013Pá)"</string>
<string name="friday_letter">"Pá"</string>
<string name="from_label">Od</string>
<string name="goto_today">"Přejít na dnešek"</string>
<string name="hint_description">"Popis události"</string>
<string name="hint_what">"Název události"</string>
<string name="hint_where">"Místo události"</string>
<string name="import_label">"Import"</string>
<string name="menu_preferences">"Nastavení"</string>
<string name="menu_select_calendars">"Správa kalendářů"</string>
<string name="modify_all">Změnit všechny události</string>
<string name="modify_all_following">Změnit všechny budoucí události</string>
<string name="modify_event">Změnit tuto událost</string>
<string name="monday_letter">"Po"</string>
<string name="month_view">"Zobrazení měsíce"</string>
<string name="monthly_on_day">"Měsíčně (<xliff:g id="day_of_month">%s</xliff:g>. den)"</string>
<string name="monthly_on_day_count">"Měsíčně (každý <xliff:g id="ordinal_number">%1$s</xliff:g>. <xliff:g id="day_of_week">%2$s</xliff:g>)"</string>
<string name="more_options_label">"Další možnosti"</string>
<string name="no_title_label">(Předmět nezadán)</string>
<string name="notes_label">Poznámky</string>
<string name="num_events">"Čís. události"</string>
<string name="on_label">"Zapnuto"</string>
<string name="plus_N_more">"(plus <xliff:g id="more_count">%d</xliff:g> dalších \u2026)"</string>
<string name="preferences_alerts_sound_title">Vyzv. tón</string>
<string name="preferences_alerts_title">Nastavení připomenutí</string>
<string name="preferences_alerts_type_default">1</string>
<string name="preferences_alerts_type_dialog">Nastavit připomenutí</string>
<string name="preferences_alerts_type_title">Výstrahy a oznámení\u2026</string>
<string name="preferences_alerts_vibrate_title">Vibrace</string>
<string name="preferences_default_reminder_default">10</string>
<string name="preferences_default_reminder_dialog">Nastavit výchozí připomenutí</string>
<string name="preferences_default_reminder_title">Výchozí připomenutí\u2026</string>
<string name="preferences_general_title">Obecné nastavení</string>
<string name="preferences_hide_declined_title">Skrýt odmítnuté události</string>
<string name="preferences_title">"Nastavení"</string>
<string name="presence_label">Účast</string>
<string name="privacy_label">Utajení</string>
<string name="reminder">Připomenutí</string>
<string name="reminders_label">Připomenutí</string>
<string name="reminders_remove_label">Odebrat</string>
<string name="remove_calendars">"Odebrat kalendáře"</string>
<string name="repeat_on_label">"Opakovat dne"</string>
<string name="repeats_label">Opakování</string>
<string name="saturday_letter">"So"</string>
<string name="save_label">Uložit</string>
<string name="select_calendars_to_sync">"Vyberte kalendáře k synchronizaci"</string>
<string name="set_time">"Nastavit čas"</string>
<string name="snooze_all_label">"Připomenout vše znovu"</string>
<string name="snooze_label">"Připomenout znovu"</string>
<string name="sunday_letter">"Ne"</string>
<string name="thursday_letter">"Čt"</string>
<string name="to_label">do:</string>
<string name="tuesday_letter">"Út"</string>
<string name="until">"do"</string>
<string name="view_event_accept_button">Ano</string>
<string name="view_event_accept_label">Účastní se</string>
<string name="view_event_calendar_label">Kalendář</string>
<string name="view_event_decline_button">Ne</string>
<string name="view_event_decline_label">Neúčastní se</string>
<string name="view_event_edit">Upravit</string>
<string name="view_event_no_response_label">(Bez odpovědi)</string>
<string name="view_event_reminders_label">Připomenutí</string>
<string name="view_event_response_label">Odpověď</string>
<string name="view_event_tentative_button">Možná</string>
<string name="view_event_tentative_label">Možná se účastní</string>
<string name="view_label">"Zobrazit"</string>
<string name="wednesday_letter">"St"</string>
<string name="week_view">"Zobrazení týdne"</string>
<string name="weekly">"Týdně (každý <xliff:g id="days_of_week">%s</xliff:g>)"</string>
<string name="what_label">Co</string>
<string name="when_label">Kdy</string>
<string name="where_label">Kde</string>
<string name="yearly">"Ročně (dne <xliff:g id="dates">%s</xliff:g>)"</string>
</resources>

View File

@ -1,124 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="add_calendars">"Kalender hinzufügen"</string>
<string name="add_new_reminder">Erinnerung hinzufügen</string>
<string name="agenda_today">Heute</string>
<string name="agenda_view">"Tagesordnung"</string>
<string name="agenda_when_label">Wann</string>
<string name="agenda_where_label">Wo</string>
<string name="alert_missed_events_multiple">(<xliff:g id="reminder_count">%s</xliff:g> weitere Erinnerungen)</string>
<string name="alert_missed_events_single">(<xliff:g id="reminder_count">%s</xliff:g> weitere Erinnerung)</string>
<string name="alert_when_label">Wann:</string>
<string name="alert_where_label">Wo:</string>
<string name="all_day_event">Ganztägiges Ereignis</string>
<string name="app_label">Kalender</string>
<string name="calendars_title">"Eigene Kalender"</string>
<string name="cancel_label">"Abbrechen"</string>
<string name="custom">"Benutzerdefiniert\u2026 (Benutzerdefinierung auf Telefon nicht möglich)"</string>
<string name="daily">Täglich</string>
<string name="day_view">"Tag"</string>
<string name="delete_event_label">"Ereignis löschen"</string>
<string name="delete_label">"Löschen"</string>
<string name="delete_this_event_title">Dieses Ereignis wird gelöscht.</string>
<string name="delete_title">Löschen</string>
<string name="description_label">Beschreibung</string>
<string name="discard_label">Änderungen verwerfen</string>
<string name="dismiss_all_label">"Alle schließen"</string>
<string name="dismiss_label">"Schließen"</string>
<string name="does_not_repeat">Wird nicht wiederholt</string>
<string name="done_label">"Fertig"</string>
<string name="edit_event_all_day_label">Ganztägig</string>
<string name="edit_event_calendar_label">Kalender</string>
<string name="edit_event_from_label">Von</string>
<string name="edit_event_hide_extra_options">Zusätzliche Optionen ausblenden</string>
<string name="edit_event_label">"Ereignis bearbeiten"</string>
<string name="edit_event_show_extra_options">Zusätzliche Optionen anzeigen</string>
<string name="edit_event_to_label">An</string>
<string name="event_create">"Neues Ereignis"</string>
<string name="event_delete">"Ereignis löschen"</string>
<string name="event_edit">"Ereignis bearbeiten"</string>
<string name="event_edit_title">"Ereignisdetails"</string>
<string name="event_info_title">Ereignis anzeigen</string>
<string name="event_info_title_invite">Besprechungseinladung</string>
<string name="event_view">"Ereignis anzeigen"</string>
<string name="every_label">"Alle"</string>
<string name="every_weekday">"Jeden Wochentag (Mon\u2013Fre)"</string>
<string name="friday_letter">"F"</string>
<string name="from_label">Von</string>
<string name="goto_today">"Heute"</string>
<string name="hint_description">"Ereignisbeschreibung"</string>
<string name="hint_what">"Ereignisname"</string>
<string name="hint_where">"Ereignisort"</string>
<string name="import_label">"Importieren"</string>
<string name="menu_preferences">"Einstellungen"</string>
<string name="menu_select_calendars">"Eigene Kalender"</string>
<string name="modify_all">Alle Ereignisse in der Serie ändern.</string>
<string name="modify_all_following">Dieses und alle zukünftigen Ereignisse ändern.</string>
<string name="modify_event">Nur dieses Ereignis ändern.</string>
<string name="monday_letter">"M"</string>
<string name="month_view">"Monat"</string>
<string name="monthly_on_day">"Monatlich (am Tag <xliff:g id="day_of_month">%s</xliff:g>)"</string>
<string name="monthly_on_day_count">"Monatlich (jeden <xliff:g id="ordinal_number">%1$s</xliff:g> <xliff:g id="day_of_week">%2$s</xliff:g>)"</string>
<string name="more_options_label">"Weitere Optionen"</string>
<string name="no_calendars">Warten auf Synchronsierung</string>
<string name="no_calendars_msg">Ihre Ereignisse werden in Kürze erscheinen.</string>
<string name="no_title_label">(Kein Betreff)</string>
<string name="notes_label">Notizen</string>
<string name="num_events">"Anzahl Ereignisse"</string>
<string name="ok_label">"OK"</string>
<string name="on_label">"Ein"</string>
<string name="plus_N_more">"(plus <xliff:g id="more_count">%d</xliff:g> mehr \u2026)"</string>
<string name="preferences_alerts_ringtone_title">Klingelton auswählen</string>
<string name="preferences_alerts_sound_title">Sound</string>
<string name="preferences_alerts_title">Erinnerungseinstellungen</string>
<string name="preferences_alerts_type_default">1</string>
<string name="preferences_alerts_type_dialog">Erinnerung einstellen</string>
<string name="preferences_alerts_type_title">Warnhinweise &amp; Benachrichtigungen einstellen</string>
<string name="preferences_alerts_vibrate_title">Vibrieren</string>
<string name="preferences_default_reminder_default">10</string>
<string name="preferences_default_reminder_dialog">Standarderinnerung einstellen</string>
<string name="preferences_default_reminder_title">Standarderinnerung einstellen</string>
<string name="preferences_general_title">Kalenderansicht-Einstellung</string>
<string name="preferences_hide_declined_title">Abgelehnte Ereignisse ausblenden</string>
<string name="preferences_title">"Einstellungen"</string>
<string name="presence_label">Anwesenheit</string>
<string name="privacy_label">Datenschutz</string>
<string name="reminder">Erinnerung</string>
<string name="reminders_label">Erinnerungen</string>
<string name="reminders_remove_label">Entfernen</string>
<string name="remove_calendars">"Kalender entfernen"</string>
<string name="repeat_on_label">"Wiederholen ein"</string>
<string name="repeats_label">Wiederholt</string>
<string name="saturday_letter">"S"</string>
<string name="save_label">Speichern</string>
<string name="select_calendars_to_sync">"Kalender für Synchr. auswählen"</string>
<string name="set_time">"Uhrzeit einstellen"</string>
<string name="snooze_all_label">"An alle erinnern"</string>
<string name="snooze_label">"Erinnern"</string>
<string name="sunday_letter">"S"</string>
<string name="thursday_letter">"D"</string>
<string name="to_label">bis</string>
<string name="tuesday_letter">"D"</string>
<string name="until">"Bis"</string>
<string name="view_event_accept_button">Ja</string>
<string name="view_event_accept_label">Nimmt teil</string>
<string name="view_event_calendar_label">Kalender</string>
<string name="view_event_decline_button">Nein</string>
<string name="view_event_decline_label">Nimmt nicht teil</string>
<string name="view_event_edit">Bearbeiten</string>
<string name="view_event_no_response_label">(Keine Antwort)</string>
<string name="view_event_reminders_label">Erinnern an</string>
<string name="view_event_response_label">Teilnehmend?</string>
<string name="view_event_tentative_button">Eventuell</string>
<string name="view_event_tentative_label">Eventuelle Teilnahme</string>
<string name="view_event_timezone_label">Lokale Zeitzone</string>
<string name="view_label">"Ansicht"</string>
<string name="wednesday_letter">"M"</string>
<string name="week_view">"Woche"</string>
<string name="weekly">"Wöchentlich (alle <xliff:g id="days_of_week">%s</xliff:g>)"</string>
<string name="what_label">Was</string>
<string name="when_label">Wann</string>
<string name="where_label">Wo</string>
<string name="yearly">"Jährlich (am <xliff:g id="dates">%s</xliff:g>)"</string>
</resources>

121
res/values-de/arrays.xml Normal file
View File

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string-array name="reminder_minutes_labels">
<item>"5 Minuten"</item>
<item>"10 Minuten"</item>
<item>"15 Minuten"</item>
<item>"20 Minuten"</item>
<item>"25 Minuten"</item>
<item>"30 Minuten"</item>
<item>"45 Minuten"</item>
<item>"1 Stunde"</item>
<item>"2 Stunden"</item>
<item>"3 Stunden"</item>
<item>"12 Stunden"</item>
<item>"24 Stunden"</item>
<item>"2 Tage"</item>
<item>"1 Woche"</item>
</string-array>
<string-array name="reminder_minutes_values">
<item>"5"</item>
<item>"10"</item>
<item>"15"</item>
<item>"20"</item>
<item>"25"</item>
<item>"30"</item>
<item>"45"</item>
<item>"60"</item>
<item>"120"</item>
<item>"180"</item>
<item>"720"</item>
<item>"1440"</item>
<item>"2880"</item>
<item>"10080"</item>
</string-array>
<string-array name="preferences_default_reminder_labels">
<item>"Keine"</item>
<item>"5 Minuten"</item>
<item>"10 Minuten"</item>
<item>"15 Minuten"</item>
<item>"20 Minuten"</item>
<item>"25 Minuten"</item>
<item>"30 Minuten"</item>
<item>"45 Minuten"</item>
<item>"1 Stunde"</item>
<item>"2 Stunden"</item>
<item>"3 Stunden"</item>
<item>"12 Stunden"</item>
<item>"24 Stunden"</item>
<item>"2 Tage"</item>
<item>"1 Woche"</item>
</string-array>
<string-array name="preferences_default_reminder_values">
<item>"0"</item>
<item>"5"</item>
<item>"10"</item>
<item>"15"</item>
<item>"20"</item>
<item>"25"</item>
<item>"30"</item>
<item>"45"</item>
<item>"60"</item>
<item>"120"</item>
<item>"180"</item>
<item>"720"</item>
<item>"1440"</item>
<item>"2880"</item>
<item>"10080"</item>
</string-array>
<string-array name="preferences_alert_type_labels">
<item>"Benachrichtigung"</item>
<item>"Statuszeilenbenachrichtigung"</item>
<item>"Aus"</item>
</string-array>
<string-array name="preferences_alert_type_values">
<item>"0"</item>
<item>"1"</item>
<item>"2"</item>
</string-array>
<!-- no translation found for availability:0 (454869065893453189) -->
<!-- no translation found for availability:1 (6228387173725732140) -->
<string-array name="visibility">
<item>"Standard"</item>
<item>"Privat"</item>
<item>"Öffentlich"</item>
</string-array>
<string-array name="day_labels">
<item>"Sonntag"</item>
<item>"Montag"</item>
<item>"Dienstag"</item>
<item>"Mittwoch"</item>
<item>"Donnerstag"</item>
<item>"Freitag"</item>
<item>"Samstag"</item>
</string-array>
<string-array name="ordinal_labels">
<item>"ersten"</item>
<item>"zweiten"</item>
<item>"dritten"</item>
<item>"vierten"</item>
<item>"letzten"</item>
</string-array>
<string-array name="response_labels1">
<item>"(keine Antwort)"</item>
<item>"Ja"</item>
<item>"Vielleicht"</item>
<item>"Nein"</item>
</string-array>
<string-array name="response_labels2">
<item>"Ja"</item>
<item>"Vielleicht"</item>
<item>"Nein"</item>
</string-array>
<string-array name="delete_repeating_labels">
<item>"Nur dieser Termin"</item>
<item>"Dieser und zukünftige Termine"</item>
<item>"Alle Termine"</item>
</string-array>
<!-- no translation found for delete_repeating_labels_no_selected:0 (1341910309321756150) -->
<!-- no translation found for delete_repeating_labels_no_selected:1 (6315440193748139854) -->
</resources>

116
res/values-de/strings.xml Normal file
View File

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label">"Kalender"</string>
<string name="calendar_plug"><font fgcolor="#ffffffff">"Willkommen bei Google Kalender!"</font>" "\n"Ein Ansatz à la Google beim Verwalten Ihrer Termine, der zeigen soll, dass Terminverwaltung intuitiver, effizienter und einfacher sein kann."</string>
<string name="what_label">"Was"</string>
<string name="when_label">"Wann"</string>
<string name="where_label">"Wo"</string>
<!-- no translation found for repeats_label (7414023871434593196) -->
<skip />
<string name="no_title_label">"(kein Thema)"</string>
<plurals name="Nminutes">
<item quantity="one">"1 Minute"</item>
<item quantity="other">"<xliff:g id="COUNT">%d</xliff:g> Minuten"</item>
</plurals>
<plurals name="Nmins">
<item quantity="one">"1 Min."</item>
<item quantity="other">"<xliff:g id="COUNT">%d</xliff:g> Min."</item>
</plurals>
<plurals name="Nhours">
<item quantity="one">"1 Stunde"</item>
<item quantity="other">"<xliff:g id="COUNT">%d</xliff:g> Stunden"</item>
</plurals>
<plurals name="Ndays">
<item quantity="one">"1 Tag"</item>
<item quantity="other">"<xliff:g id="COUNT">%d</xliff:g> Tag(e)"</item>
</plurals>
<string name="agenda_view">"Terminübersicht"</string>
<string name="day_view">"Tag"</string>
<string name="week_view">"Woche"</string>
<string name="month_view">"Monat"</string>
<string name="event_view">"Termin anzeigen"</string>
<string name="event_create">"Neuer Termin"</string>
<string name="event_edit">"Termin bearbeiten"</string>
<string name="event_delete">"Termin löschen"</string>
<string name="goto_today">"Heute"</string>
<string name="menu_select_calendars">"Meine Kalender"</string>
<string name="menu_preferences">"Einstellungen"</string>
<string name="plus_N_more">"(und <xliff:g id="MORE_COUNT">%d</xliff:g> weitere…)"</string>
<string name="calendars_title">"Meine Kalender"</string>
<string name="add_calendars">"Kalender hinzufügen"</string>
<string name="remove_calendars">"Kalender entfernen"</string>
<string name="event_edit_title">"Termindetails"</string>
<string name="hint_what">"Terminname"</string>
<string name="hint_where">"Ort des Termins"</string>
<string name="hint_description">"Terminbeschreibung"</string>
<!-- no translation found for creating_event (8237877638457604455) -->
<skip />
<!-- no translation found for saving_event (8853425146353785688) -->
<skip />
<!-- no translation found for loading_calendars_title (3819254313413902272) -->
<skip />
<!-- no translation found for loading_calendars_message (8266077515011438420) -->
<skip />
<string name="alert_when_label">"Wann:"</string>
<string name="alert_where_label">"Wo:"</string>
<string name="alert_missed_events_single">"(<xliff:g id="REMINDER_COUNT">%s</xliff:g> weitere Erinnerung)"</string>
<string name="alert_missed_events_multiple">"(<xliff:g id="REMINDER_COUNT">%s</xliff:g> weitere Erinnerungen)"</string>
<string name="event_info_title">"Termin anzeigen"</string>
<string name="event_info_title_invite">"Einladung zu einer Besprechung"</string>
<string name="add_new_reminder">"Erinnerung hinzufügen"</string>
<string name="edit_event_to_label">"Bis"</string>
<string name="edit_event_from_label">"Von"</string>
<string name="edit_event_all_day_label">"Ganztägig"</string>
<string name="edit_event_calendar_label">"Kalender"</string>
<string name="edit_event_show_extra_options">"Zusätzliche Optionen anzeigen"</string>
<string name="edit_event_hide_extra_options">"Zusätzliche Optionen ausblenden"</string>
<string name="description_label">"Beschreibung"</string>
<string name="presence_label">"Status"</string>
<string name="privacy_label">"Datenschutz"</string>
<string name="reminders_label">"Erinnerungen"</string>
<!-- no translation found for no_syncable_calendars (7019488867045436129) -->
<skip />
<!-- no translation found for no_calendars_found (755379468136462058) -->
<skip />
<string name="view_event_calendar_label">"Kalender"</string>
<string name="view_event_timezone_label">"Lokalzeit"</string>
<string name="view_event_response_label">"Teilnahme?"</string>
<string name="agenda_today">"Heute"</string>
<string name="num_events">"Anzahl Termine"</string>
<string name="edit_event_label">"Termin bearbeiten"</string>
<string name="delete_label">"Löschen"</string>
<string name="delete_event_label">"Termin löschen"</string>
<string name="save_label">"Speichern"</string>
<string name="discard_label">"Änderungen verwerfen"</string>
<string name="import_label">"Import"</string>
<string name="snooze_all_label">"Später erinnern"</string>
<string name="dismiss_all_label">"Alle schließen"</string>
<!-- no translation found for does_not_repeat (1877681921029738999) -->
<skip />
<string name="daily">"Täglich"</string>
<string name="every_weekday">"Jeden Werktag (Mo. - Fr.)"</string>
<string name="weekly">"Wöchentlich (jeden <xliff:g id="DAYS_OF_WEEK">%s</xliff:g>)"</string>
<string name="monthly_on_day_count">"Monatlich (jeden <xliff:g id="ORDINAL_NUMBER">%1$s</xliff:g> <xliff:g id="DAY_OF_WEEK">%2$s</xliff:g>)"</string>
<string name="monthly_on_day">"Monatlich (am <xliff:g id="DAY_OF_MONTH">%s</xliff:g>.)"</string>
<string name="yearly">"Jährlich (am <xliff:g id="DATES">%s</xliff:g>)"</string>
<string name="custom">"Benutzerdefiniert… (Anpassung über Telefon nicht möglich)"</string>
<string name="modify_event">"Nur diesen Termin ändern"</string>
<string name="modify_all">"Alle Termine in dieser Serie ändern"</string>
<string name="modify_all_following">"Diesen und alle zukünftigen Termine ändern"</string>
<string name="delete_this_event_title">"Dieser Termin wird gelöscht."</string>
<string name="delete_title">"Löschen"</string>
<string name="preferences_title">"Einstellungen"</string>
<string name="preferences_general_title">"Einstellung für Kalenderansicht"</string>
<string name="preferences_alerts_title">"Erinnerungseinstellungen"</string>
<string name="preferences_hide_declined_title">"Abgelehnte Termine ausblenden"</string>
<string name="preferences_alerts_type_title">"Benachrichtigungen und Hinweise festlegen"</string>
<!-- no translation found for preferences_alerts_type_dialog (2195667763429994271) -->
<skip />
<string name="preferences_alerts_vibrate_title">"Vibration"</string>
<string name="preferences_alerts_ringtone_title">"Klingelton auswählen"</string>
<string name="preferences_default_reminder_title">"Standarderinnerung festlegen"</string>
<!-- no translation found for preferences_default_reminder_dialog (2490348857239323412) -->
<skip />
<string name="preferences_default_reminder_default">"10"</string>
</resources>

View File

@ -1,122 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="add_calendars">"Add calendars"</string>
<string name="add_new_reminder">Add reminder</string>
<string name="agenda_today">Today</string>
<string name="agenda_view">"Agenda"</string>
<string name="agenda_when_label">When</string>
<string name="agenda_where_label">Where</string>
<string name="alert_missed_events_multiple">(<xliff:g id="reminder_count">%s</xliff:g> more reminders)</string>
<string name="alert_missed_events_single">(<xliff:g id="reminder_count">%s</xliff:g> more reminder)</string>
<string name="alert_when_label">When:</string>
<string name="alert_where_label">Where:</string>
<string name="all_day_event">All-day event</string>
<string name="app_label">Calendar</string>
<string name="calendars_title">"My calendars"</string>
<string name="cancel_label">"Cancel"</string>
<string name="custom">"Custom\u2026 (cannot customise on phone)"</string>
<string name="daily">Daily</string>
<string name="day_view">"Day"</string>
<string name="delete_event_label">"Delete event"</string>
<string name="delete_label">"Delete"</string>
<string name="delete_this_event_title">This event will be deleted.</string>
<string name="delete_title">Delete</string>
<string name="description_label">Description</string>
<string name="discard_label">Discard changes</string>
<string name="dismiss_all_label">"Dismiss all"</string>
<string name="dismiss_label">"Dismiss"</string>
<string name="does_not_repeat">Does not repeat</string>
<string name="done_label">"Done"</string>
<string name="edit_event_all_day_label">All day</string>
<string name="edit_event_calendar_label">Calendar</string>
<string name="edit_event_from_label">From</string>
<string name="edit_event_hide_extra_options">Hide extra options</string>
<string name="edit_event_label">"Edit event"</string>
<string name="edit_event_show_extra_options">Show extra options</string>
<string name="edit_event_to_label">To</string>
<string name="event_create">"New event"</string>
<string name="event_delete">"Delete event"</string>
<string name="event_edit">"Edit event"</string>
<string name="event_edit_title">"Event details"</string>
<string name="event_info_title">View event</string>
<string name="event_info_title_invite">Meeting invitation</string>
<string name="event_view">"View event"</string>
<string name="every_label">"Every"</string>
<string name="every_weekday">"Every weekday (Mon\u2013Fri)"</string>
<string name="friday_letter">"F"</string>
<string name="from_label">From</string>
<string name="goto_today">"Today"</string>
<string name="hint_description">"Event description"</string>
<string name="hint_what">"Event name"</string>
<string name="hint_where">"Event location"</string>
<string name="import_label">"Import"</string>
<string name="menu_preferences">"Settings"</string>
<string name="menu_select_calendars">"My calendars"</string>
<string name="modify_all">Change all events in the series.</string>
<string name="modify_all_following">Change this and all future events.</string>
<string name="modify_event">Change only this event.</string>
<string name="monday_letter">"M"</string>
<string name="month_view">"Month"</string>
<string name="monthly_on_day">"Monthly (on day <xliff:g id="day_of_month">%s</xliff:g>)"</string>
<string name="monthly_on_day_count">"Monthly (every <xliff:g id="ordinal_number">%1$s</xliff:g> <xliff:g id="day_of_week">%2$s</xliff:g>)"</string>
<string name="more_options_label">"More options"</string>
<string name="no_title_label">(No subject)</string>
<string name="notes_label">Notes</string>
<string name="num_events">"Num events"</string>
<string name="ok_label">"OK"</string>
<string name="on_label">"On"</string>
<string name="plus_N_more">"(plus <xliff:g id="more_count">%d</xliff:g> more \u2026)"</string>
<string name="preferences_alerts_ringtone_title">Select ringtone</string>
<string name="preferences_alerts_sound_title">Sound</string>
<string name="preferences_alerts_title">Reminder settings</string>
<string name="preferences_alerts_type_default">1</string>
<string name="preferences_alerts_type_dialog">Set reminder</string>
<string name="preferences_alerts_type_title">Set alerts &amp; notifications</string>
<string name="preferences_alerts_vibrate_title">Vibrate</string>
<string name="preferences_default_reminder_default">10</string>
<string name="preferences_default_reminder_dialog">Set default reminder</string>
<string name="preferences_default_reminder_title">Set default reminder</string>
<string name="preferences_general_title">Calendar view setting</string>
<string name="preferences_hide_declined_title">Hide declined events</string>
<string name="preferences_title">"Settings"</string>
<string name="presence_label">Presence</string>
<string name="privacy_label">Privacy</string>
<string name="reminder">Reminder</string>
<string name="reminders_label">Reminders</string>
<string name="reminders_remove_label">Remove</string>
<string name="remove_calendars">"Remove calendars"</string>
<string name="repeat_on_label">"Repeat on"</string>
<string name="repeats_label">Repeats</string>
<string name="saturday_letter">"S"</string>
<string name="save_label">Save</string>
<string name="select_calendars_to_sync">"Select calendars to sync"</string>
<string name="set_time">"Set the time"</string>
<string name="snooze_all_label">"Snooze all"</string>
<string name="snooze_label">"Snooze"</string>
<string name="sunday_letter">"S"</string>
<string name="thursday_letter">"T"</string>
<string name="to_label">to</string>
<string name="tuesday_letter">"T"</string>
<string name="until">"Until"</string>
<string name="view_event_accept_button">Yes</string>
<string name="view_event_accept_label">Attending</string>
<string name="view_event_calendar_label">Calendar</string>
<string name="view_event_decline_button">No</string>
<string name="view_event_decline_label">Not attending</string>
<string name="view_event_edit">Edit</string>
<string name="view_event_no_response_label">(No response)</string>
<string name="view_event_reminders_label">Reminders</string>
<string name="view_event_response_label">Attending?</string>
<string name="view_event_tentative_button">Maybe</string>
<string name="view_event_tentative_label">Maybe attending</string>
<string name="view_event_timezone_label">Local time zone</string>
<string name="view_label">"View"</string>
<string name="wednesday_letter">"W"</string>
<string name="week_view">"Week"</string>
<string name="weekly">"Weekly (every <xliff:g id="days_of_week">%s</xliff:g>)"</string>
<string name="what_label">What</string>
<string name="when_label">When</string>
<string name="where_label">Where</string>
<string name="yearly">"Yearly (on <xliff:g id="dates">%s</xliff:g>)"</string>
<string name="app_label">"Calendar"</string>
<!-- no translation found for calendar_plug (4048572330264956957) -->
<skip />
<string name="what_label">"What"</string>
<string name="when_label">"When"</string>
<string name="where_label">"Where"</string>
<string name="repeats_label">"Repeats"</string>
<string name="no_title_label">"(No subject)"</string>
<!-- no translation found for Nminutes:one (6081118741858086532) -->
<!-- no translation found for Nminutes:other (1264594317967322630) -->
<!-- no translation found for Nmins:one (4614567358157302948) -->
<!-- no translation found for Nmins:other (486965688561269531) -->
<!-- no translation found for Nhours:one (4993938150407112728) -->
<!-- no translation found for Nhours:other (600521157331446471) -->
<!-- no translation found for Ndays:one (3245393674146438398) -->
<!-- no translation found for Ndays:other (3502645058844566354) -->
<string name="agenda_view">"Agenda"</string>
<string name="day_view">"Day"</string>
<string name="week_view">"Week"</string>
<string name="month_view">"Month"</string>
<string name="event_view">"View event"</string>
<string name="event_create">"New event"</string>
<string name="event_edit">"Edit event"</string>
<string name="event_delete">"Delete event"</string>
<string name="goto_today">"Today"</string>
<string name="menu_select_calendars">"My calendars"</string>
<string name="menu_preferences">"Settings"</string>
<string name="plus_N_more">"(plus <xliff:g id="MORE_COUNT">%d</xliff:g> more …)"</string>
<string name="calendars_title">"My calendars"</string>
<string name="add_calendars">"Add calendars"</string>
<string name="remove_calendars">"Remove calendars"</string>
<string name="event_edit_title">"Event details"</string>
<string name="hint_what">"Event name"</string>
<string name="hint_where">"Event location"</string>
<string name="hint_description">"Event description"</string>
<!-- no translation found for creating_event (4830642711192836714) -->
<skip />
<!-- no translation found for saving_event (2501598127034230955) -->
<skip />
<!-- no translation found for loading_calendars_title (6145461690011608604) -->
<skip />
<!-- no translation found for loading_calendars_message (4814002597639099673) -->
<skip />
<string name="alert_when_label">"When:"</string>
<string name="alert_where_label">"Where:"</string>
<string name="alert_missed_events_single">"(<xliff:g id="REMINDER_COUNT">%s</xliff:g> more reminder)"</string>
<string name="alert_missed_events_multiple">"(<xliff:g id="REMINDER_COUNT">%s</xliff:g> more reminders)"</string>
<string name="event_info_title">"View event"</string>
<string name="event_info_title_invite">"Meeting invitation"</string>
<string name="add_new_reminder">"Add reminder"</string>
<string name="edit_event_to_label">"To"</string>
<string name="edit_event_from_label">"From"</string>
<string name="edit_event_all_day_label">"All day"</string>
<string name="edit_event_calendar_label">"Calendar"</string>
<string name="edit_event_show_extra_options">"Show extra options"</string>
<string name="edit_event_hide_extra_options">"Hide extra options"</string>
<string name="description_label">"Description"</string>
<string name="presence_label">"Presence"</string>
<string name="privacy_label">"Privacy"</string>
<string name="reminders_label">"Reminders"</string>
<!-- no translation found for no_syncable_calendars (3658601685334109347) -->
<skip />
<!-- no translation found for no_calendars_found (7802708375572302907) -->
<skip />
<string name="view_event_calendar_label">"Calendar"</string>
<string name="view_event_timezone_label">"Local time zone"</string>
<string name="view_event_response_label">"Attending?"</string>
<string name="agenda_today">"Today"</string>
<string name="num_events">"Num events"</string>
<string name="edit_event_label">"Edit event"</string>
<string name="delete_label">"Delete"</string>
<string name="delete_event_label">"Delete event"</string>
<string name="save_label">"Save"</string>
<string name="discard_label">"Discard changes"</string>
<string name="import_label">"Import"</string>
<string name="snooze_all_label">"Snooze all"</string>
<string name="dismiss_all_label">"Dismiss all"</string>
<string name="does_not_repeat">"Does not repeat"</string>
<string name="daily">"Daily"</string>
<string name="every_weekday">"Every weekday (MonFri)"</string>
<string name="weekly">"Weekly (every <xliff:g id="DAYS_OF_WEEK">%s</xliff:g>)"</string>
<string name="monthly_on_day_count">"Monthly (every <xliff:g id="ORDINAL_NUMBER">%1$s</xliff:g> <xliff:g id="DAY_OF_WEEK">%2$s</xliff:g>)"</string>
<string name="monthly_on_day">"Monthly (on day <xliff:g id="DAY_OF_MONTH">%s</xliff:g>)"</string>
<string name="yearly">"Yearly (on <xliff:g id="DATES">%s</xliff:g>)"</string>
<string name="custom">"Custom… (cannot customise on phone)"</string>
<string name="modify_event">"Change only this event."</string>
<string name="modify_all">"Change all events in the series."</string>
<string name="modify_all_following">"Change this and all future events."</string>
<string name="delete_this_event_title">"This event will be deleted."</string>
<string name="delete_title">"Delete"</string>
<string name="preferences_title">"Settings"</string>
<string name="preferences_general_title">"Calendar view setting"</string>
<string name="preferences_alerts_title">"Reminder settings"</string>
<string name="preferences_hide_declined_title">"Hide declined events"</string>
<string name="preferences_alerts_type_title">"Set alerts &amp; notifications"</string>
<string name="preferences_alerts_type_dialog">"Set reminder"</string>
<string name="preferences_alerts_vibrate_title">"Vibrate"</string>
<string name="preferences_alerts_ringtone_title">"Select ringtone"</string>
<string name="preferences_default_reminder_title">"Set default reminder"</string>
<string name="preferences_default_reminder_dialog">"Set default reminder"</string>
<string name="preferences_default_reminder_default">"10"</string>
</resources>

View File

@ -1,124 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="add_calendars">"Agregar calendarios"</string>
<string name="add_new_reminder">Agregar aviso</string>
<string name="agenda_today">Hoy</string>
<string name="agenda_view">"Agenda"</string>
<string name="agenda_when_label">Cuándo</string>
<string name="agenda_where_label">Dónde</string>
<string name="alert_missed_events_multiple">(<xliff:g id="reminder_count">%s</xliff:g> más avisos)</string>
<string name="alert_missed_events_single">(<xliff:g id="reminder_count">%s</xliff:g> más avisos)</string>
<string name="alert_when_label">Cuándo:</string>
<string name="alert_where_label">Dónde:</string>
<string name="all_day_event">Evento de todo el día</string>
<string name="app_label">Calendario</string>
<string name="calendars_title">"Mis calendarios"</string>
<string name="cancel_label">"Cancelar"</string>
<string name="custom">"Personalizar\u2026 (no se puede personalizar en teléfono)"</string>
<string name="daily">Diariamente</string>
<string name="day_view">"Día"</string>
<string name="delete_event_label">"Eliminar evento"</string>
<string name="delete_label">"Eliminar"</string>
<string name="delete_this_event_title">Se eliminará este evento:</string>
<string name="delete_title">Eliminar</string>
<string name="description_label">Descripción</string>
<string name="discard_label">Rechazar cambios</string>
<string name="dismiss_all_label">"Rechazar todo"</string>
<string name="dismiss_label">"Descartar"</string>
<string name="does_not_repeat">No se repite</string>
<string name="done_label">"Listo"</string>
<string name="edit_event_all_day_label">Todo el día</string>
<string name="edit_event_calendar_label">Calendario</string>
<string name="edit_event_from_label">De</string>
<string name="edit_event_hide_extra_options">Ocultar opciones extras</string>
<string name="edit_event_label">"Editar evento"</string>
<string name="edit_event_show_extra_options">Mostrar opciones extras</string>
<string name="edit_event_to_label">Para</string>
<string name="event_create">"Nuevo evento"</string>
<string name="event_delete">"Eliminar evento"</string>
<string name="event_edit">"Editar evento"</string>
<string name="event_edit_title">"Detalles del evento"</string>
<string name="event_info_title">Ver evento</string>
<string name="event_info_title_invite">Invitación a reunión</string>
<string name="event_view">"Ver evento"</string>
<string name="every_label">"Cada"</string>
<string name="every_weekday">"Todos los días laborables (Lun\u2013Vie)"</string>
<string name="friday_letter">"V"</string>
<string name="from_label">De</string>
<string name="goto_today">"Hoy"</string>
<string name="hint_description">"Descripción del evento"</string>
<string name="hint_what">"Nombre del evento"</string>
<string name="hint_where">"Ubicación del evento"</string>
<string name="import_label">"Importar"</string>
<string name="menu_preferences">"Configuración"</string>
<string name="menu_select_calendars">"Mis calendarios"</string>
<string name="modify_all">Cambiar todos los eventos de la serie.</string>
<string name="modify_all_following">Cambiar esto y todos los eventos futuros. </string>
<string name="modify_event">Cambiar sólo este evento.</string>
<string name="monday_letter">"L"</string>
<string name="month_view">"Mes"</string>
<string name="monthly_on_day">"Mensual (en día <xliff:g id="day_of_month">%s</xliff:g>)"</string>
<string name="monthly_on_day_count">"Mensual (cada <xliff:g id="ordinal_number">%1$s</xliff:g><xliff:g id="day_of_week">%2$s</xliff:g>)"</string>
<string name="more_options_label">"Más opciones"</string>
<string name="no_calendars">Esperando sincronización</string>
<string name="no_calendars_msg">Sus eventos aparecerán en breve.</string>
<string name="no_title_label">(Sin asunto)</string>
<string name="notes_label">Notas</string>
<string name="num_events">"Nº de eventos"</string>
<string name="ok_label">"Aceptar"</string>
<string name="on_label">"Activado"</string>
<string name="plus_N_more">"(además de <xliff:g id="more_count">%d</xliff:g> más\u2026)"</string>
<string name="preferences_alerts_ringtone_title">Seleccionar tono de timbre</string>
<string name="preferences_alerts_sound_title">Sonido</string>
<string name="preferences_alerts_title">Configuración de aviso</string>
<string name="preferences_alerts_type_default">1</string>
<string name="preferences_alerts_type_dialog">Configurar aviso</string>
<string name="preferences_alerts_type_title">Configurar alertas y notificaciones</string>
<string name="preferences_alerts_vibrate_title">Vibrar</string>
<string name="preferences_default_reminder_default">10</string>
<string name="preferences_default_reminder_dialog">Configurar aviso predeterminado</string>
<string name="preferences_default_reminder_title">Configurar aviso predeterminado</string>
<string name="preferences_general_title">Configuración de visualización del calendario</string>
<string name="preferences_hide_declined_title">Ocultar eventos rechazados</string>
<string name="preferences_title">"Configuración"</string>
<string name="presence_label">Presencia</string>
<string name="privacy_label">Privacidad</string>
<string name="reminder">Aviso</string>
<string name="reminders_label">Avisos</string>
<string name="reminders_remove_label">Quitar</string>
<string name="remove_calendars">"Quitar calendarios"</string>
<string name="repeat_on_label">"Repetir en"</string>
<string name="repeats_label">Se repite</string>
<string name="saturday_letter">"S"</string>
<string name="save_label">Guardar</string>
<string name="select_calendars_to_sync">"Seleccionar calendarios a sincronizar"</string>
<string name="set_time">"Configurar la hora"</string>
<string name="snooze_all_label">"Posponer todo"</string>
<string name="snooze_label">"Posponer"</string>
<string name="sunday_letter">"D"</string>
<string name="thursday_letter">"J"</string>
<string name="to_label">para</string>
<string name="tuesday_letter">"M"</string>
<string name="until">"Hasta"</string>
<string name="view_event_accept_button"></string>
<string name="view_event_accept_label">Asistes</string>
<string name="view_event_calendar_label">Calendario</string>
<string name="view_event_decline_button">No</string>
<string name="view_event_decline_label">No asistes</string>
<string name="view_event_edit">Editar</string>
<string name="view_event_no_response_label">(Sin respuesta)</string>
<string name="view_event_reminders_label">Avisos</string>
<string name="view_event_response_label">¿Asistes?</string>
<string name="view_event_tentative_button">Quizás</string>
<string name="view_event_tentative_label">Quizás asista</string>
<string name="view_event_timezone_label">Zona horaria local</string>
<string name="view_label">"Ver"</string>
<string name="wednesday_letter">"M"</string>
<string name="week_view">"Semana"</string>
<string name="weekly">"Semanal (cada <xliff:g id="days_of_week">%s</xliff:g>)"</string>
<string name="what_label">Qué</string>
<string name="when_label">Cuándo</string>
<string name="where_label">Dónde</string>
<string name="yearly">"Anual (en <xliff:g id="dates">%s</xliff:g>)"</string>
</resources>

View File

@ -1,124 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="add_calendars">"Ajouter agendas"</string>
<string name="add_new_reminder">Ajouter rappel</string>
<string name="agenda_today">Aujourd\'hui</string>
<string name="agenda_view">"Agenda"</string>
<string name="agenda_when_label">Quand</string>
<string name="agenda_where_label"></string>
<string name="alert_missed_events_multiple">(<xliff:g id="reminder_count">%s</xliff:g> plus de rappels)</string>
<string name="alert_missed_events_single">(<xliff:g id="reminder_count">%s</xliff:g> plus de rappel)</string>
<string name="alert_when_label">Quand :</string>
<string name="alert_where_label">Où :</string>
<string name="all_day_event">Journée entière</string>
<string name="app_label">Agenda</string>
<string name="calendars_title">"Mes agendas"</string>
<string name="cancel_label">"Annuler"</string>
<string name="custom">"Personnaliser\u2026 (impossible de personnaliser sur le téléphone)"</string>
<string name="daily">Quotidien</string>
<string name="day_view">"Jour"</string>
<string name="delete_event_label">"Supprimer l\'événement"</string>
<string name="delete_label">"Supprimer"</string>
<string name="delete_this_event_title">Cet événement sera supprimé.</string>
<string name="delete_title">Supprimer</string>
<string name="description_label">Description</string>
<string name="discard_label">Abandonner les modifications</string>
<string name="dismiss_all_label">"Abandonner tout"</string>
<string name="dismiss_label">"Abandonner"</string>
<string name="does_not_repeat">Ne se répète pas</string>
<string name="done_label">"Terminé"</string>
<string name="edit_event_all_day_label">Journée entière</string>
<string name="edit_event_calendar_label">Agenda</string>
<string name="edit_event_from_label">De</string>
<string name="edit_event_hide_extra_options">Masquer les options supplémentaires</string>
<string name="edit_event_label">"Modifier l\'événement"</string>
<string name="edit_event_show_extra_options">Afficher les options supplémentaires</string>
<string name="edit_event_to_label">À</string>
<string name="event_create">"Nouvel événement"</string>
<string name="event_delete">"Supprimer l\'événement"</string>
<string name="event_edit">"Modifier l\'événement"</string>
<string name="event_edit_title">"Détails de l\'événement"</string>
<string name="event_info_title">Afficher l\'événement</string>
<string name="event_info_title_invite">Invitation à une réunion</string>
<string name="event_view">"Afficher l\'événement"</string>
<string name="every_label">"Chaque"</string>
<string name="every_weekday">"Chaque jour ouvré (Lun\u2013Ven)"</string>
<string name="friday_letter">"V"</string>
<string name="from_label">De</string>
<string name="goto_today">"Aujourd\'hui"</string>
<string name="hint_description">"Description de l\'événement"</string>
<string name="hint_what">"Nom de l\'événement"</string>
<string name="hint_where">"Lieu de l\'événement"</string>
<string name="import_label">"Importer"</string>
<string name="menu_preferences">"Paramètres"</string>
<string name="menu_select_calendars">"Mes agendas"</string>
<string name="modify_all">Modifier tous les événements de la série.</string>
<string name="modify_all_following">Modifier ceci et les événements futurs.</string>
<string name="modify_event">Modifier seulement cet événement.</string>
<string name="monday_letter">"L"</string>
<string name="month_view">"Mois"</string>
<string name="monthly_on_day">"Mensuel (le jour <xliff:g id="day_of_month">%s</xliff:g>)"</string>
<string name="monthly_on_day_count">"Mensuel (chaque <xliff:g id="ordinal_number">%1$s</xliff:g><xliff:g id="day_of_week">%2$s</xliff:g>)"</string>
<string name="more_options_label">"Plus d\'options"</string>
<string name="no_calendars">Attente de synchronisation</string>
<string name="no_calendars_msg">Vos événements apparaîtront bientôt.</string>
<string name="no_title_label">(Aucun objet)</string>
<string name="notes_label">Notes</string>
<string name="num_events">"Événement num"</string>
<string name="ok_label">"OK"</string>
<string name="on_label">"Activé"</string>
<string name="plus_N_more">"(plus <xliff:g id="more_count">%d</xliff:g> de plus \u2026)"</string>
<string name="preferences_alerts_ringtone_title">Sélectionner la sonnerie</string>
<string name="preferences_alerts_sound_title">Son</string>
<string name="preferences_alerts_title">Paramètres de rappel</string>
<string name="preferences_alerts_type_default">1</string>
<string name="preferences_alerts_type_dialog">Définir le rappel</string>
<string name="preferences_alerts_type_title">Définir les alertes et notifications</string>
<string name="preferences_alerts_vibrate_title">Vibreur</string>
<string name="preferences_default_reminder_default">10</string>
<string name="preferences_default_reminder_dialog">Définir le rappel par défaut</string>
<string name="preferences_default_reminder_title">Définir le rappel par défaut</string>
<string name="preferences_general_title">Paramètre de vue de l\'agenda</string>
<string name="preferences_hide_declined_title">Masquer les événements refusés</string>
<string name="preferences_title">"Paramètres"</string>
<string name="presence_label">Présence</string>
<string name="privacy_label">Vie privée</string>
<string name="reminder">Rappel</string>
<string name="reminders_label">Rappels</string>
<string name="reminders_remove_label">Supprimer</string>
<string name="remove_calendars">"Supprimer agendas"</string>
<string name="repeat_on_label">"Répéter le"</string>
<string name="repeats_label">Répétitions</string>
<string name="saturday_letter">"S"</string>
<string name="save_label">Enregistrer</string>
<string name="select_calendars_to_sync">"Sélectionner les agendas à synchroniser"</string>
<string name="set_time">"Définir l\'heure"</string>
<string name="snooze_all_label">"Répéter tout"</string>
<string name="snooze_label">"Répétition"</string>
<string name="sunday_letter">"D"</string>
<string name="thursday_letter">"J"</string>
<string name="to_label">à</string>
<string name="tuesday_letter">"M"</string>
<string name="until">"Jusqu\'à"</string>
<string name="view_event_accept_button">Oui</string>
<string name="view_event_accept_label">Participe</string>
<string name="view_event_calendar_label">Agenda</string>
<string name="view_event_decline_button">Non</string>
<string name="view_event_decline_label">Ne participe pas</string>
<string name="view_event_edit">Modifier</string>
<string name="view_event_no_response_label">(Pas de réponse)</string>
<string name="view_event_reminders_label">Rappels</string>
<string name="view_event_response_label">Participe ?</string>
<string name="view_event_tentative_button">Peut-être</string>
<string name="view_event_tentative_label">Participe peut-être</string>
<string name="view_event_timezone_label">Fuseau horaire local</string>
<string name="view_label">"Afficher"</string>
<string name="wednesday_letter">"M"</string>
<string name="week_view">"Semaine"</string>
<string name="weekly">"Hebdomadaire (chaque <xliff:g id="days_of_week">%s</xliff:g>)"</string>
<string name="what_label">Quoi</string>
<string name="when_label">Quand</string>
<string name="where_label"></string>
<string name="yearly">"Annuellement (le <xliff:g id="dates">%s</xliff:g>)"</string>
</resources>

View File

@ -1,124 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="add_calendars">"Aggiungi calendari"</string>
<string name="add_new_reminder">Aggiungi promemoria</string>
<string name="agenda_today">Oggi</string>
<string name="agenda_view">"Agenda"</string>
<string name="agenda_when_label">Quando</string>
<string name="agenda_where_label">Dove</string>
<string name="alert_missed_events_multiple">(<xliff:g id="reminder_count">%s</xliff:g> ulteriori promemoria)</string>
<string name="alert_missed_events_single">(<xliff:g id="reminder_count">%s</xliff:g> ulteriore promemoria)</string>
<string name="alert_when_label">Quando:</string>
<string name="alert_where_label">Dove:</string>
<string name="all_day_event">Evento giornata intera</string>
<string name="app_label">Calendario</string>
<string name="calendars_title">"Calendari"</string>
<string name="cancel_label">"Annulla"</string>
<string name="custom">"Personalizza\u2026 (impossibile personalizzare sul telefono)"</string>
<string name="daily">Giornaliero</string>
<string name="day_view">"Giorno"</string>
<string name="delete_event_label">"Elimina evento"</string>
<string name="delete_label">"Elimina"</string>
<string name="delete_this_event_title">L'evento verrà eliminato.</string>
<string name="delete_title">Elimina</string>
<string name="description_label">Descrizione</string>
<string name="discard_label">Ignora modifiche</string>
<string name="dismiss_all_label">"Elimina tutti"</string>
<string name="dismiss_label">"Elimina"</string>
<string name="does_not_repeat">Non si ripete</string>
<string name="done_label">"Completato"</string>
<string name="edit_event_all_day_label">Giornata intera</string>
<string name="edit_event_calendar_label">Calendario</string>
<string name="edit_event_from_label">Da</string>
<string name="edit_event_hide_extra_options">Nascondi opzioni extra</string>
<string name="edit_event_label">"Modifica evento"</string>
<string name="edit_event_show_extra_options">Mostra opzioni extra</string>
<string name="edit_event_to_label">A</string>
<string name="event_create">"Nuovo evento"</string>
<string name="event_delete">"Elimina evento"</string>
<string name="event_edit">"Modifica evento"</string>
<string name="event_edit_title">"Dettagli evento"</string>
<string name="event_info_title">Visualizza evento</string>
<string name="event_info_title_invite">Invito a Riunione</string>
<string name="event_view">"Visualizza evento"</string>
<string name="every_label">"Ogni"</string>
<string name="every_weekday">"Ogni settimana (Lun\u2013Ven)"</string>
<string name="friday_letter">"V"</string>
<string name="from_label">Da</string>
<string name="goto_today">"Oggi"</string>
<string name="hint_description">"Descrizione evento"</string>
<string name="hint_what">"Nome evento"</string>
<string name="hint_where">"Ubicazione evento"</string>
<string name="import_label">"Importa"</string>
<string name="menu_preferences">"Impostazioni"</string>
<string name="menu_select_calendars">"Calendari"</string>
<string name="modify_all">Cambia tutti gli eventi nella serie.</string>
<string name="modify_all_following">Cambia questo evento e tutti gli eventi futuri.</string>
<string name="modify_event">Cambia solo questo evento.</string>
<string name="monday_letter">"L"</string>
<string name="month_view">"Mese"</string>
<string name="monthly_on_day">"Mensile (il giorno <xliff:g id="day_of_month">%s</xliff:g>)"</string>
<string name="monthly_on_day_count">"Mensile (ogni <xliff:g id="ordinal_number">%1$s</xliff:g><xliff:g id="day_of_week">%2$s</xliff:g>)"</string>
<string name="more_options_label">"Altre opzioni"</string>
<string name="no_calendars">In attesa della sincronizzazione</string>
<string name="no_calendars_msg">Gli eventi verranno visualizzati tra alcuni istanti.</string>
<string name="no_title_label">(Nessun oggetto)</string>
<string name="notes_label">Note</string>
<string name="num_events">"Num eventi"</string>
<string name="ok_label">"OK"</string>
<string name="on_label">"On"</string>
<string name="plus_N_more">"(più ulteriore <xliff:g id="more_count">%d</xliff:g> \u2026)"</string>
<string name="preferences_alerts_ringtone_title">Seleziona suoneria</string>
<string name="preferences_alerts_sound_title">Suono</string>
<string name="preferences_alerts_title">Impostazioni promemoria</string>
<string name="preferences_alerts_type_default">1</string>
<string name="preferences_alerts_type_dialog">Imposta promemoria</string>
<string name="preferences_alerts_type_title">Imposta avvisi e notifiche</string>
<string name="preferences_alerts_vibrate_title">Vibrazione</string>
<string name="preferences_default_reminder_default">10</string>
<string name="preferences_default_reminder_dialog">Imposta promemoria predefinito</string>
<string name="preferences_default_reminder_title">Imposta promemoria predefinito</string>
<string name="preferences_general_title">Impostazione visualizzazione calendario</string>
<string name="preferences_hide_declined_title">Nascondi eventi rifiutati</string>
<string name="preferences_title">"Impostazioni"</string>
<string name="presence_label">Presenza</string>
<string name="privacy_label">Privacy</string>
<string name="reminder">Promemoria</string>
<string name="reminders_label">Promemoria</string>
<string name="reminders_remove_label">Rimuovi</string>
<string name="remove_calendars">"Rimuovi calendari"</string>
<string name="repeat_on_label">"Ripeti il"</string>
<string name="repeats_label">Ripetizioni</string>
<string name="saturday_letter">"S"</string>
<string name="save_label">Salva</string>
<string name="select_calendars_to_sync">"Selezionare i calendari da sincronizzare"</string>
<string name="set_time">"Imposta l'ora"</string>
<string name="snooze_all_label">"Posponi tutto"</string>
<string name="snooze_label">"Posponi"</string>
<string name="sunday_letter">"D"</string>
<string name="thursday_letter">"G"</string>
<string name="to_label">in</string>
<string name="tuesday_letter">"M"</string>
<string name="until">"Fino"</string>
<string name="view_event_accept_button"></string>
<string name="view_event_accept_label">Partecipante</string>
<string name="view_event_calendar_label">Calendario</string>
<string name="view_event_decline_button">No</string>
<string name="view_event_decline_label">Non partecipante</string>
<string name="view_event_edit">Modifica</string>
<string name="view_event_no_response_label">(Nessuna risposta)</string>
<string name="view_event_reminders_label">Promemoria</string>
<string name="view_event_response_label">Partecipante?</string>
<string name="view_event_tentative_button">Forse</string>
<string name="view_event_tentative_label">Probabile partecipante</string>
<string name="view_event_timezone_label">Fuso orario locale</string>
<string name="view_label">"Visualizza"</string>
<string name="wednesday_letter">"M"</string>
<string name="week_view">"Settimana"</string>
<string name="weekly">"Settimanale (ogni <xliff:g id="days_of_week">%s</xliff:g>)"</string>
<string name="what_label">Cosa</string>
<string name="when_label">Quando</string>
<string name="where_label">Dove</string>
<string name="yearly">"Annualmente (il <xliff:g id="dates">%s</xliff:g>)"</string>
</resources>

121
res/values-ja/arrays.xml Normal file
View File

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string-array name="reminder_minutes_labels">
<item>"5分"</item>
<item>"10分"</item>
<item>"15分"</item>
<item>"20分"</item>
<item>"25分"</item>
<item>"30分"</item>
<item>"45分"</item>
<item>"1時間"</item>
<item>"2時間"</item>
<item>"3時間"</item>
<item>"12時間"</item>
<item>"24時間"</item>
<item>"2日"</item>
<item>"1週間"</item>
</string-array>
<string-array name="reminder_minutes_values">
<item>"5"</item>
<item>"10"</item>
<item>"15"</item>
<item>"20"</item>
<item>"25"</item>
<item>"30"</item>
<item>"45"</item>
<item>"60"</item>
<item>"120"</item>
<item>"180"</item>
<item>"720"</item>
<item>"1,440"</item>
<item>"2,880"</item>
<item>"10,080"</item>
</string-array>
<string-array name="preferences_default_reminder_labels">
<item>"なし"</item>
<item>"5分"</item>
<item>"10分"</item>
<item>"15分"</item>
<item>"20分"</item>
<item>"25分"</item>
<item>"30分"</item>
<item>"45分"</item>
<item>"1時間"</item>
<item>"2時間"</item>
<item>"3時間"</item>
<item>"12時間"</item>
<item>"24時間"</item>
<item>"2日"</item>
<item>"1週間"</item>
</string-array>
<string-array name="preferences_default_reminder_values">
<item>"0"</item>
<item>"5"</item>
<item>"10"</item>
<item>"15"</item>
<item>"20"</item>
<item>"25"</item>
<item>"30"</item>
<item>"45"</item>
<item>"60"</item>
<item>"120"</item>
<item>"180"</item>
<item>"720"</item>
<item>"1,440"</item>
<item>"2,880"</item>
<item>"10,080"</item>
</string-array>
<string-array name="preferences_alert_type_labels">
<item>"アラート"</item>
<item>"ステータス バーによる通知"</item>
<item>"オフ"</item>
</string-array>
<string-array name="preferences_alert_type_values">
<item>"0"</item>
<item>"1"</item>
<item>"2"</item>
</string-array>
<!-- no translation found for availability:0 (454869065893453189) -->
<!-- no translation found for availability:1 (6228387173725732140) -->
<string-array name="visibility">
<item>"デフォルト"</item>
<item>"限定公開"</item>
<item>"一般公開"</item>
</string-array>
<string-array name="day_labels">
<item>"日曜日"</item>
<item>"月曜日"</item>
<item>"火曜日"</item>
<item>"水曜日"</item>
<item>"木曜日"</item>
<item>"金曜日"</item>
<item>"土曜日"</item>
</string-array>
<string-array name="ordinal_labels">
<item>"第1"</item>
<item>"第2"</item>
<item>"第3"</item>
<item>"第4"</item>
<item>"最終"</item>
</string-array>
<string-array name="response_labels1">
<item>"(応答なし)"</item>
<item>"はい"</item>
<item>"未定"</item>
<item>"いいえ"</item>
</string-array>
<string-array name="response_labels2">
<item>"はい"</item>
<item>"未定"</item>
<item>"いいえ"</item>
</string-array>
<string-array name="delete_repeating_labels">
<item>"この予定のみ"</item>
<item>"これ以降の予定"</item>
<item>"すべての予定"</item>
</string-array>
<!-- no translation found for delete_repeating_labels_no_selected:0 (1341910309321756150) -->
<!-- no translation found for delete_repeating_labels_no_selected:1 (6315440193748139854) -->
</resources>

116
res/values-ja/strings.xml Normal file
View File

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label">"カレンダー"</string>
<string name="calendar_plug"><font fgcolor="#ffffffff">"Google カレンダーへようこそ!"</font>" "\n"スケジュールに簡単にアクセスして、より直感的、効率的に予定を管理できます。"</string>
<string name="what_label">"タイトル"</string>
<string name="when_label">"日時"</string>
<string name="where_label">"場所"</string>
<!-- no translation found for repeats_label (7414023871434593196) -->
<skip />
<string name="no_title_label">"(無題)"</string>
<plurals name="Nminutes">
<item quantity="one">"1分"</item>
<item quantity="other">"<xliff:g id="COUNT">%d</xliff:g>分"</item>
</plurals>
<plurals name="Nmins">
<item quantity="one">"1分"</item>
<item quantity="other">"<xliff:g id="COUNT">%d</xliff:g>分"</item>
</plurals>
<plurals name="Nhours">
<item quantity="one">"1時間"</item>
<item quantity="other">"<xliff:g id="COUNT">%d</xliff:g>時間"</item>
</plurals>
<plurals name="Ndays">
<item quantity="one">"1日"</item>
<item quantity="other">"<xliff:g id="COUNT">%d</xliff:g>日"</item>
</plurals>
<string name="agenda_view">"予定リスト"</string>
<string name="day_view">"日"</string>
<string name="week_view">"週"</string>
<string name="month_view">"月"</string>
<string name="event_view">"予定を表示"</string>
<string name="event_create">"新しい予定"</string>
<string name="event_edit">"予定を編集"</string>
<string name="event_delete">"予定を削除"</string>
<string name="goto_today">"今日"</string>
<string name="menu_select_calendars">"マイ カレンダー"</string>
<string name="menu_preferences">"設定"</string>
<string name="plus_N_more">"(あと <xliff:g id="MORE_COUNT">%d</xliff:g> 件...)"</string>
<string name="calendars_title">"マイ カレンダー"</string>
<string name="add_calendars">"カレンダーを追加"</string>
<string name="remove_calendars">"カレンダーを削除"</string>
<string name="event_edit_title">"予定の詳細"</string>
<string name="hint_what">"予定の名前"</string>
<string name="hint_where">"予定の場所"</string>
<string name="hint_description">"予定の説明"</string>
<!-- no translation found for creating_event (8237877638457604455) -->
<skip />
<!-- no translation found for saving_event (8853425146353785688) -->
<skip />
<!-- no translation found for loading_calendars_title (3819254313413902272) -->
<skip />
<!-- no translation found for loading_calendars_message (8266077515011438420) -->
<skip />
<string name="alert_when_label">"日時:"</string>
<string name="alert_where_label">"場所:"</string>
<string name="alert_missed_events_single">"(<xliff:g id="REMINDER_COUNT">%s</xliff:g> 件の通知がありました)"</string>
<string name="alert_missed_events_multiple">"(<xliff:g id="REMINDER_COUNT">%s</xliff:g> 件の通知がありました)"</string>
<string name="event_info_title">"予定を表示"</string>
<string name="event_info_title_invite">"会議への招待状"</string>
<string name="add_new_reminder">"通知を追加"</string>
<string name="edit_event_to_label">"終了"</string>
<string name="edit_event_from_label">"開始"</string>
<string name="edit_event_all_day_label">"終日"</string>
<string name="edit_event_calendar_label">"カレンダー"</string>
<string name="edit_event_show_extra_options">"追加のオプションを表示する"</string>
<string name="edit_event_hide_extra_options">"追加のオプションを表示しない"</string>
<string name="description_label">"説明"</string>
<string name="presence_label">"ステータス"</string>
<string name="privacy_label">"プライバシー"</string>
<string name="reminders_label">"通知"</string>
<!-- no translation found for no_syncable_calendars (7019488867045436129) -->
<skip />
<!-- no translation found for no_calendars_found (755379468136462058) -->
<skip />
<string name="view_event_calendar_label">"カレンダー"</string>
<string name="view_event_timezone_label">"ローカル タイムゾーン"</string>
<string name="view_event_response_label">"参加しますか?"</string>
<string name="agenda_today">"今日"</string>
<string name="num_events">"予定数"</string>
<string name="edit_event_label">"予定を編集"</string>
<string name="delete_label">"削除"</string>
<string name="delete_event_label">"予定を削除"</string>
<string name="save_label">"保存"</string>
<string name="discard_label">"変更を破棄"</string>
<string name="import_label">"インポート"</string>
<string name="snooze_all_label">"すべてスヌーズ"</string>
<string name="dismiss_all_label">"すべて表示しない"</string>
<!-- no translation found for does_not_repeat (1877681921029738999) -->
<skip />
<string name="daily">"毎日"</string>
<string name="every_weekday">"平日 (月~金)"</string>
<string name="weekly">"毎週 (<xliff:g id="DAYS_OF_WEEK">%s</xliff:g>)"</string>
<string name="monthly_on_day_count">"毎月 (<xliff:g id="ORDINAL_NUMBER">%1$s</xliff:g> <xliff:g id="DAY_OF_WEEK">%2$s</xliff:g>)"</string>
<string name="monthly_on_day">"毎月 (<xliff:g id="DAY_OF_MONTH">%s</xliff:g>)"</string>
<string name="yearly">"毎年 (<xliff:g id="DATES">%s</xliff:g>)"</string>
<string name="custom">"カスタム... (携帯電話ではカスタマイズ不可)"</string>
<string name="modify_event">"この予定のみを変更します。"</string>
<string name="modify_all">"一連の定期的な予定すべてを削除します。"</string>
<string name="modify_all_following">"これ以降の予定すべてを削除します。"</string>
<string name="delete_this_event_title">"この予定を削除します。"</string>
<string name="delete_title">"削除"</string>
<string name="preferences_title">"設定"</string>
<string name="preferences_general_title">"カレンダーの表示の設定"</string>
<string name="preferences_alerts_title">"通知の設定"</string>
<string name="preferences_hide_declined_title">"辞退した予定を表示しない"</string>
<string name="preferences_alerts_type_title">"アラートと通知を設定"</string>
<!-- no translation found for preferences_alerts_type_dialog (2195667763429994271) -->
<skip />
<string name="preferences_alerts_vibrate_title">"バイブレーション"</string>
<string name="preferences_alerts_ringtone_title">"着信音を選択"</string>
<string name="preferences_default_reminder_title">"デフォルトの通知を設定"</string>
<!-- no translation found for preferences_default_reminder_dialog (2490348857239323412) -->
<skip />
<string name="preferences_default_reminder_default">"10"</string>
</resources>

View File

@ -1,113 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="add_calendars">"Agenda's toevoegen"</string>
<string name="agenda_view">"Agendaweergave"</string>
<string name="agenda_when_label">Wanneer\u2026</string>
<string name="agenda_where_label">Waar\u2026</string>
<string name="alert_missed_events_multiple">en <xliff:g id="reminder_count">%s</xliff:g> andere herinneringen</string>
<string name="alert_missed_events_single">en <xliff:g id="reminder_count">%s</xliff:g> andere herinnering</string>
<string name="alert_when_label">Wanneer:</string>
<string name="alert_where_label">Locatie:</string>
<string name="all_day_event">Duurt hele dag</string>
<string name="app_label">Agenda</string>
<string name="calendars_title">"Agenda's"</string>
<string name="cancel_label">"Annuleren"</string>
<string name="custom">"Aangepast\u2026 (kan niet aanpassen op toestel)"</string>
<string name="daily">Elke dag</string>
<string name="day_view">"Dagweergave"</string>
<string name="delete_label">"Gebeurtenis verwijderen"</string>
<string name="description_label">Beschrijving</string>
<string name="discard_label">Wijzigingen negeren</string>
<string name="dismiss_all_label">"Alles negeren"</string>
<string name="dismiss_label">"Negeren"</string>
<string name="does_not_repeat">Wordt niet herhaald</string>
<string name="done_label">"Gereed"</string>
<string name="edit_event_all_day_label">De hele dag</string>
<string name="edit_event_calendar_label">Agenda</string>
<string name="edit_event_from_label">Van</string>
<string name="edit_event_hide_extra_options">Extra opties verbergen</string>
<string name="edit_event_show_extra_options">Extra opties weergeven</string>
<string name="edit_event_to_label">tot</string>
<string name="event_create">"Nieuwe gebeurtenis"</string>
<string name="event_delete">"Gebeurtenis verwijderen"</string>
<string name="event_edit">"Gebeurtenis"</string>
<string name="event_edit_title">"Gebeurtenisdetails"</string>
<string name="event_info_title">Gebeurtenis weergeven</string>
<string name="event_info_title_invite">Uitnodiging voor afspraak</string>
<string name="event_view">"Gebeurtenis weergeven"</string>
<string name="every_label">"Elke"</string>
<string name="every_weekday">"Elke werkdag (Maa\u2013vri)"</string>
<string name="friday_letter">"V"</string>
<string name="from_label">Van</string>
<string name="goto_today">"Ga naar vandaag"</string>
<string name="hint_description">"Gebeurtenisbeschrijving"</string>
<string name="hint_what">"Gebeurtenisnaam"</string>
<string name="hint_where">"Gebeurtenislocatie"</string>
<string name="import_label">"Importeren"</string>
<string name="menu_preferences">"Instellingen"</string>
<string name="menu_select_calendars">"Agenda's beheren"</string>
<string name="modify_all">Alle gebeurtenissen veranderen</string>
<string name="modify_all_following">Alle toekomstige gebeurtenissen veranderen</string>
<string name="modify_event">Deze gebeurtenis veranderen</string>
<string name="monday_letter">"M"</string>
<string name="month_view">"Maandweergave"</string>
<string name="monthly_on_day">"Elke mnd (op dag <xliff:g id="day_of_month">%s</xliff:g>)"</string>
<string name="monthly_on_day_count">"Elke mnd (elke <xliff:g id="ordinal_number">%1$s</xliff:g> <xliff:g id="day_of_week">%2$s</xliff:g>)"</string>
<string name="more_options_label">"Meer opties"</string>
<string name="no_title_label">(Geen onderwerp)</string>
<string name="notes_label">Opmerkingen</string>
<string name="num_events">"Aant gebeurtenissen"</string>
<string name="on_label">"Aan"</string>
<string name="plus_N_more">"(plus <xliff:g id="more_count">%d</xliff:g> extra \u2026)"</string>
<string name="preferences_alerts_sound_title">Beltoon</string>
<string name="preferences_alerts_title">Herinneringsinstellingen</string>
<string name="preferences_alerts_type_default">1</string>
<string name="preferences_alerts_type_dialog">Herinnering instellen</string>
<string name="preferences_alerts_type_title">Alarmsignalen &amp; meldingen\u2026</string>
<string name="preferences_alerts_vibrate_title">Trillen</string>
<string name="preferences_default_reminder_default">10</string>
<string name="preferences_default_reminder_dialog">Standaardherinnering instellen</string>
<string name="preferences_default_reminder_title">Standaardherinnering\u2026</string>
<string name="preferences_general_title">Algemene instellingen</string>
<string name="preferences_hide_declined_title">Afgewezen gebeurtenissen verbergen</string>
<string name="preferences_title">"Instellingen"</string>
<string name="presence_label">Aanwezigheid</string>
<string name="privacy_label">Privacy</string>
<string name="reminder">Herinnering</string>
<string name="reminders_label">Herinneringen</string>
<string name="reminders_remove_label">Verwijderen</string>
<string name="remove_calendars">"Agenda's verwijderen"</string>
<string name="repeat_on_label">"Herhalen op"</string>
<string name="repeats_label">Herhaalt</string>
<string name="saturday_letter">"Z"</string>
<string name="save_label">Opslaan</string>
<string name="select_calendars_to_sync">"Agenda's voor synchronisatie selecteren"</string>
<string name="set_time">"De tijd instellen"</string>
<string name="snooze_all_label">"Alles uitstellen"</string>
<string name="snooze_label">"Uitstellen"</string>
<string name="sunday_letter">"Z"</string>
<string name="thursday_letter">"D"</string>
<string name="to_label">tot</string>
<string name="tuesday_letter">"D"</string>
<string name="until">"Totdat"</string>
<string name="view_event_accept_button">Ja</string>
<string name="view_event_accept_label">Aanwezig</string>
<string name="view_event_calendar_label">Agenda</string>
<string name="view_event_decline_button">Nee</string>
<string name="view_event_decline_label">Niet aanwezig</string>
<string name="view_event_edit">Bewerken</string>
<string name="view_event_no_response_label">(Geen reactie)</string>
<string name="view_event_reminders_label">Herinneringen</string>
<string name="view_event_response_label">Antwoord</string>
<string name="view_event_tentative_button">Misschien</string>
<string name="view_event_tentative_label">Misschien aanwezig</string>
<string name="view_label">"Weergeven"</string>
<string name="wednesday_letter">"W"</string>
<string name="week_view">"Weekweergave"</string>
<string name="weekly">"Wekelijks (elke <xliff:g id="days_of_week">%s</xliff:g>)"</string>
<string name="what_label">Wat</string>
<string name="when_label">Wanneer</string>
<string name="where_label">Locatie</string>
<string name="yearly">"Elk jaar (op <xliff:g id="dates">%s</xliff:g>)"</string>
</resources>

View File

@ -1,124 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="add_calendars">"新增行事曆"</string>
<string name="add_new_reminder">新增提醒</string>
<string name="agenda_today">今天</string>
<string name="agenda_view">"議程"</string>
<string name="agenda_when_label">時間</string>
<string name="agenda_where_label">地點</string>
<string name="alert_missed_events_multiple">(<xliff:g id="reminder_count">%s</xliff:g> 個其它的提醒)</string>
<string name="alert_missed_events_single">(<xliff:g id="reminder_count">%s</xliff:g> 個其它的提醒)</string>
<string name="alert_when_label">時間:</string>
<string name="alert_where_label">地點:</string>
<string name="all_day_event">全天活動</string>
<string name="app_label">行事曆</string>
<string name="calendars_title">"我的行事曆"</string>
<string name="cancel_label">"取消"</string>
<string name="custom">"自訂\u2026 (無法在電話上自訂)"</string>
<string name="daily">每天</string>
<string name="day_view">"天"</string>
<string name="delete_event_label">"刪除活動"</string>
<string name="delete_label">"刪除"</string>
<string name="delete_this_event_title">將會刪除此活動。</string>
<string name="delete_title">刪除</string>
<string name="description_label">說明</string>
<string name="discard_label">放棄變更</string>
<string name="dismiss_all_label">"全部關閉"</string>
<string name="dismiss_label">"關閉"</string>
<string name="does_not_repeat">不重複</string>
<string name="done_label">"完成"</string>
<string name="edit_event_all_day_label">全天</string>
<string name="edit_event_calendar_label">行事曆</string>
<string name="edit_event_from_label"></string>
<string name="edit_event_hide_extra_options">隱藏其它選項</string>
<string name="edit_event_label">"編輯活動"</string>
<string name="edit_event_show_extra_options">顯示其它選項</string>
<string name="edit_event_to_label"></string>
<string name="event_create">"新增活動"</string>
<string name="event_delete">"刪除活動"</string>
<string name="event_edit">"編輯活動"</string>
<string name="event_edit_title">"活動詳細資料"</string>
<string name="event_info_title">檢視活動</string>
<string name="event_info_title_invite">會議邀請</string>
<string name="event_view">"檢視活動"</string>
<string name="every_label">"每"</string>
<string name="every_weekday">"每個工作日 (星期一\u2013星期五)"</string>
<string name="friday_letter">"五"</string>
<string name="from_label"></string>
<string name="goto_today">"今天"</string>
<string name="hint_description">"活動說明"</string>
<string name="hint_what">"活動名稱"</string>
<string name="hint_where">"活動地點"</string>
<string name="import_label">"匯入"</string>
<string name="menu_preferences">"設定"</string>
<string name="menu_select_calendars">"我的行事曆"</string>
<string name="modify_all">變更所有一連串的活動。</string>
<string name="modify_all_following">變更此項及所有未來的活動。</string>
<string name="modify_event">僅變更此活動。</string>
<string name="monday_letter">"一"</string>
<string name="month_view">"月"</string>
<string name="monthly_on_day">"每月 (第 <xliff:g id="day_of_month">%s</xliff:g> 天)"</string>
<string name="monthly_on_day_count">"每月 (每 <xliff:g id="ordinal_number">%1$s</xliff:g><xliff:g id="day_of_week">%2$s</xliff:g>)"</string>
<string name="more_options_label">"更多選項"</string>
<string name="no_calendars">正在等待同步</string>
<string name="no_calendars_msg">將會立即顯示事件。</string>
<string name="no_title_label">(無主旨)</string>
<string name="notes_label">記事</string>
<string name="num_events">"活動數目"</string>
<string name="ok_label">"確定"</string>
<string name="on_label">"開啟"</string>
<string name="plus_N_more">"(加上 <xliff:g id="more_count">%d</xliff:g> 其它 \u2026)"</string>
<string name="preferences_alerts_ringtone_title">選取響鈴音調</string>
<string name="preferences_alerts_sound_title">聲音</string>
<string name="preferences_alerts_title">提醒設定</string>
<string name="preferences_alerts_type_default">1</string>
<string name="preferences_alerts_type_dialog">設定提醒</string>
<string name="preferences_alerts_type_title">設定警訊與通知</string>
<string name="preferences_alerts_vibrate_title">震動</string>
<string name="preferences_default_reminder_default">10</string>
<string name="preferences_default_reminder_dialog">設定預設提醒</string>
<string name="preferences_default_reminder_title">設定預設提醒</string>
<string name="preferences_general_title">行事曆檢視設定</string>
<string name="preferences_hide_declined_title">隱藏已經拒絕的活動</string>
<string name="preferences_title">"設定"</string>
<string name="presence_label">存在</string>
<string name="privacy_label">隱私權</string>
<string name="reminder">提醒</string>
<string name="reminders_label">提醒</string>
<string name="reminders_remove_label">移除</string>
<string name="remove_calendars">"移除行事曆"</string>
<string name="repeat_on_label">"重複週期"</string>
<string name="repeats_label">重複</string>
<string name="saturday_letter">"六"</string>
<string name="save_label">儲存</string>
<string name="select_calendars_to_sync">"選取要同步的行事曆"</string>
<string name="set_time">"設定時間"</string>
<string name="snooze_all_label">"全部延遲"</string>
<string name="snooze_label">"延遲"</string>
<string name="sunday_letter">"日"</string>
<string name="thursday_letter">"四"</string>
<string name="to_label"></string>
<string name="tuesday_letter">"二"</string>
<string name="until">"直到"</string>
<string name="view_event_accept_button"></string>
<string name="view_event_accept_label">出席</string>
<string name="view_event_calendar_label">行事曆</string>
<string name="view_event_decline_button"></string>
<string name="view_event_decline_label">未出席</string>
<string name="view_event_edit">編輯</string>
<string name="view_event_no_response_label">(無回應)</string>
<string name="view_event_reminders_label">提醒</string>
<string name="view_event_response_label">出席?</string>
<string name="view_event_tentative_button">可能</string>
<string name="view_event_tentative_label">可能出席</string>
<string name="view_event_timezone_label">本地時區</string>
<string name="view_label">"檢視"</string>
<string name="wednesday_letter">"三"</string>
<string name="week_view">"週"</string>
<string name="weekly">"每週 (每 <xliff:g id="days_of_week">%s</xliff:g>)"</string>
<string name="what_label">目標</string>
<string name="when_label">時間</string>
<string name="where_label">地點</string>
<string name="yearly">"每年 (<xliff:g id="dates">%s</xliff:g>)"</string>
</resources>

View File

@ -16,8 +16,7 @@
<resources>
<!-- Choices for the "Reminder minutes" spinner.
These must be kept in sync with the reminder_minutes_values array
and the reminder_minutes_labels_abbrev array below.
These must be kept in sync with the reminder_minutes_values array.
-->
<string-array name="reminder_minutes_labels">
<item>5 minutes</item>
@ -36,23 +35,6 @@
<item>1 week</item>
</string-array>
<string-array name="reminder_minutes_labels_abbrev">
<item>5 mins</item>
<item>10 mins</item>
<item>15 mins</item>
<item>20 mins</item>
<item>25 mins</item>
<item>30 mins</item>
<item>45 mins</item>
<item>1 hour</item>
<item>2 hours</item>
<item>3 hours</item>
<item>12 hours</item>
<item>24 hours</item>
<item>2 days</item>
<item>1 week</item>
</string-array>
<string-array name="reminder_minutes_values">
<item>"5"</item>
<item>"10"</item>
@ -118,84 +100,9 @@
<item>"2"</item>
</string-array>
<!-- Choices for the "Repeats" spinner.
These must be kept in sync with the sRepeats[] array
of ints in EventActivity.java. -->
<string-array name="repeat_strings">
<item>"Does not repeat"</item>
<item>"Daily"</item>
<item>"Weekly"</item>
<item>"Monthly"</item>
<item>"Yearly"</item>
</string-array>
<string-array name="every_n_days">
<item>"day"</item>
<item>"2 days"</item>
<item>"3 days"</item>
<item>"4 days"</item>
<item>"5 days"</item>
<item>"6 days"</item>
<item>"7 days"</item>
<item>"8 days"</item>
<item>"9 days"</item>
<item>"10 days"</item>
<item>"11 days"</item>
<item>"12 days"</item>
<item>"13 days"</item>
<item>"14 days"</item>
</string-array>
<string-array name="every_n_weeks">
<item>"week"</item>
<item>"2 weeks"</item>
<item>"3 weeks"</item>
<item>"4 weeks"</item>
<item>"5 weeks"</item>
<item>"6 weeks"</item>
<item>"7 weeks"</item>
<item>"8 weeks"</item>
<item>"9 weeks"</item>
<item>"10 weeks"</item>
<item>"11 weeks"</item>
<item>"12 weeks"</item>
<item>"13 weeks"</item>
<item>"14 weeks"</item>
</string-array>
<string-array name="every_n_months">
<item>"month"</item>
<item>"2 months"</item>
<item>"3 months"</item>
<item>"4 months"</item>
<item>"5 months"</item>
<item>"6 months"</item>
<item>"7 months"</item>
<item>"8 months"</item>
<item>"9 months"</item>
<item>"10 months"</item>
<item>"11 months"</item>
<item>"12 months"</item>
<item>"13 months"</item>
<item>"14 months"</item>
</string-array>
<string-array name="every_n_years">
<item>"year"</item>
<item>"2 years"</item>
<item>"3 years"</item>
<item>"4 years"</item>
<item>"5 years"</item>
<item>"6 years"</item>
<item>"7 years"</item>
<item>"8 years"</item>
<item>"9 years"</item>
<item>"10 years"</item>
<item>"11 years"</item>
<item>"12 years"</item>
<item>"13 years"</item>
<item>"14 years"</item>
</string-array>
<string-array name="availability">
<item>Show as busy</item>
<item>Show as available</item>
<item>Busy</item>
<item>Available</item>
</string-array>
<string-array name="visibility">
@ -243,4 +150,16 @@
<item>This &amp; future events</item>
<item>All events</item>
</string-array>
<!-- The corresponding indices are defined in DeleteEventHelper.java -->
<!-- This is the same array as above (the "delete_repeating_labels" array,
except that the first element "Only this event" is removed. This
array exists to work-around a bug in the CalendarProvider and sync
code where you can't delete one instance of a repeating event that
was created on the phone until that event has been synced to the server.
-->
<string-array name="delete_repeating_labels_no_selected">
<item>This &amp; future events</item>
<item>All events</item>
</string-array>
</resources>

View File

@ -18,63 +18,35 @@
*/
-->
<resources>
<drawable name="selected_day_background">#ffd5d5d5</drawable>
<drawable name="event_background">#ffc3d9ff</drawable>
<drawable name="pref_background">#ffc3d9ff</drawable>
<drawable name="label_foreground">#ff1b38c2</drawable>
<drawable name="text_foreground">#ff000000</drawable>
<drawable name="base_background">#ffffffff</drawable>
<drawable name="panel_label_foreground">#ffe0f0ff</drawable>
<drawable name="panel_text_foreground">#ffffffff</drawable>
<drawable name="daynames_background">#ff1c1c1c</drawable>
<drawable name="title_background">#ff565656</drawable>
<color name="black">#ff000000</color>
<color name="black_25">#40000000</color>
<color name="black_50">#80000000</color>
<color name="white">#ffffffff</color>
<color name="white_25">#40ffffff</color>
<color name="white_50">#80ffffff</color>
<color name="grey">#fff0f0f0</color>
<color name="event_background">#ffc3d9ff</color>
<color name="panel_text_foreground">#ffffffff</color>
<color name="daynames_background">#ff1c1c1c</color>
<color name="calendar_all_day_event_color">#ffffffff</color>
<color name="calendar_event_color">#ffffffff</color>
<color name="calendar_event_text_color">#ff000000</color>
<color name="calendar_all_day_background">#ff5a5a5a</color>
<color name="other_month_cell">#ffd5d5d5</color>
<color name="label_base">#ff1b38c2</color>
<color name="week_label">@color/label_base</color>
<color name="week_weekday">@color/black</color>
<color name="week_weekend">@color/white</color>
<color name="other_month">@color/white</color>
<color name="calendar_hour_label">@color/white</color>
<color name="week_weekend">@android:color/white</color>
<color name="calendar_hour_label">@android:color/white</color>
<color name="calendar_ampm_label">#ffbebebe</color>
<color name="calendar_hour_background">#ff393939</color>
<color name="calendar_hour_selected">#ff808080</color>
<color name="calendar_date_banner_background">#ff424242</color>
<color name="calendar_date_selected">#ff808080</color>
<color name="calendar_date_banner_text_color">@color/white</color>
<color name="calendar_date_banner_text_color">@android:color/white</color>
<color name="calendar_grid_area_background">#ff202020</color>
<color name="calendar_grid_area_selected">#ff505050</color>
<color name="calendar_grid_line_horizontal_color">#ff5a5a5a</color>
<color name="calendar_grid_line_vertical_color">#ff5a5a5a</color>
<color name="calendar_grid_line_highlight_color">#ff707070</color>
<color name="status_background">#fff4d66e</color>
<color name="selection">#ffffaa00</color>
<color name="month_day_number">#ff404040</color>
<color name="month_today_number">#ffffffff</color>
<color name="month_other_month">#ff595959</color>
<color name="month_other_month_day_number">#ffa0a0a0</color>
<color name="month_other_month_name">#ff84868c</color>
<color name="month_other_month_banner">#80595959</color>
<color name="month_week_banner">#20595959</color>
<color name="month_dna_strip_color">#ff63c731</color>
<color name="conflict_center">#ffff8876</color>
<color name="conflict_border">#ffbf6558</color>
<color name="event_center">#ff6bd697</color>
<color name="event_border">#ff50a071</color>
</resources>

View File

@ -15,216 +15,326 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- This is the label underneath the icon for Calendar -->
<string name="app_label">Calendar</string>
<!-- This is the welcome message when a user starts Calendar for the first time -->
<string name="calendar_plug"><font fgcolor="#ffffffff">Welcome to Google Calendar!</font>
\nA Google approach to managing your schedule built on the idea that scheduling events can be more intuitive, efficient and accessible.
</string>
<!-- Shared Labels. These labels are shared among the activities. -->
<skip />
<!-- This is the label for the title or name of an event -->
<string name="what_label">What</string>
<!-- This is the label for the date and time of an event -->
<string name="when_label">When</string>
<!-- This is the label for the location of an event -->
<string name="where_label">Where</string>
<string name="repeats_label">Repeats</string>
<string name="to_label">to</string>
<!-- Title of event when no explicit title is defined -->
<!-- Some events repeat daily, weekly, monthly, or yearly. This is the label
for all the choices about how often an event repeats (including the choice
of not repeating). -->
<string name="repeats_label">Repetition</string>
<!-- Title of event when no explicit title is specified by the user -->
<string name="no_title_label">(No subject)</string>
<!-- Reminder format strings -->
<plurals name="Nminutes">
<!-- This is the label for a 1-minute reminder. -->
<item quantity="one">1 minute</item>
<!-- This is the label for 2 or more minutes. The actual number of
minutes is a parameter. -->
<item quantity="other"><xliff:g id="count">%d</xliff:g> minutes</item>
</plurals>
<!-- We use "mins" instead of "minutes" to keep the string short -->
<!-- We use the abbreviation "mins" instead of "minutes" to keep the string short.
This is the number of minutes displayed for a calendar reminder. For example,
a reminder of 10 minutes would be displayed as '10 mins'. The translation
should use the shortest acceptable abbreviation to save space. -->
<plurals name="Nmins">
<!-- This is the label for a 1-minute reminder. -->
<item quantity="one">1 min</item>
<!-- This is the label for 2 or more minutes. The actual number of
minutes is a parameter. -->
<item quantity="other"><xliff:g id="count">%d</xliff:g> mins</item>
</plurals>
<!-- This is the number of hours displayed for a calendar reminder. For example,
a reminder of 1 hour would be displayed as '1 hour'. The translation
should use the shortest acceptable abbreviation of 'hour' to save space. -->
<plurals name="Nhours">
<!-- This is the label for a 1-hour reminder. -->
<item quantity="one">1 hour</item>
<!-- This is the label for a reminder of 2 or more hours. The actual number of
hours is a parameter. -->
<item quantity="other"><xliff:g id="count">%d</xliff:g> hours</item>
</plurals>
<!-- This is the number of days displayed for a calendar reminder. For example,
a reminder of 2 days would be displayed as '2 days'. The translation
should use the shortest acceptable abbreviation of 'day' to save space. -->
<plurals name="Ndays">
<!-- This is the label for a reminder of 1 day. -->
<item quantity="one">1 day</item>
<!-- This is the label for a reminder of 2 or more days. The actual number of
days is a parameter. -->
<item quantity="other"><xliff:g id="count">%d</xliff:g> days</item>
</plurals>
<!-- Menu items: -->
<skip />
<!-- This is a label on a menu item. Pressing this menu item displays the
Agenda view. -->
<string name="agenda_view">"Agenda"</string>
<!-- This is a label on a menu item. Pressing this menu item displays the
Day view. -->
<string name="day_view">"Day"</string>
<!-- This is a label on a menu item. Pressing this menu item displays the
Week view. -->
<string name="week_view">"Week"</string>
<!-- This is a label on a menu item. Pressing this menu item displays the
Month view. -->
<string name="month_view">"Month"</string>
<!-- This is a label on a menu item. Pressing this menu item displays the
details of an event. -->
<string name="event_view">"View event"</string>
<!-- This is a label on a menu item. Pressing this menu item allows the
user to create a new event. -->
<string name="event_create">"New event"</string>
<!-- This is a label on a menu item in a popup window. Pressing this menu
item allows the user to edit or change an existing event. -->
<string name="event_edit">"Edit event"</string>
<!-- This is a label on a menu item in a popup window. Pressing this menu
item allows the user to delete an existing event. -->
<string name="event_delete">"Delete event"</string>
<!-- This is a label on a menu item. Pressing this menu
item takes the user to the current day (today) in whatever view
(Day view, Week view, Agenda view, Month view) they are currently in. -->
<string name="goto_today">"Today"</string>
<!-- This is a label on a menu item. Pressing this menu item allows the
user to see the list of calendars that he is viewing and to then add
or remove selected calendars. -->
<string name="menu_select_calendars">"My calendars"</string>
<!-- This is a label on a menu item. Pressing this menu item allows the
user to view and edit his Settings (or Preferences) -->
<string name="menu_preferences">"Settings"</string>
<!-- Month view -->
<skip />
<!-- This string is used in a popup window when there are more events than
can be displayed so it displays the events that it can and then displays
this line so that the user knows how many more events there are that
could not be displayed. For example, if there are 6 events but we can
only display 4 events then we will display the first 4 events and then
show 'plus 2 more' to indicate that there are two more events that we
could not display because of lack of room. -->
<string name="plus_N_more">"(plus <xliff:g id="more_count">%d</xliff:g> more \u2026)"</string>
<!-- Select Calendars activity -->
<skip />
<!-- Title of "My calendars" screen -->
<string name="calendars_title">"My calendars"</string>
<!-- Menu option -->
<!-- Menu option for selecting calendars to add -->
<string name="add_calendars">"Add calendars"</string>
<!-- Menu option -->
<!-- Menu option for selecting calendars to remove -->
<string name="remove_calendars">"Remove calendars"</string>
<string name="select_calendars_to_sync">"Select calendars to sync"</string>
<!-- Event edit activity -->
<!-- Screen title -->
<skip />
<!-- The title of the screen where the user edits an event -->
<string name="event_edit_title">"Event details"</string>
<string name="set_time">"Set the time"</string>
<string name="every_label">"Every"</string>
<string name="on_label">"On"</string>
<string name="sunday_letter">"S"</string>
<string name="monday_letter">"M"</string>
<string name="tuesday_letter">"T"</string>
<string name="wednesday_letter">"W"</string>
<string name="thursday_letter">"T"</string>
<string name="friday_letter">"F"</string>
<string name="saturday_letter">"S"</string>
<string name="until">"Until"</string>
<string name="repeat_on_label">"Repeat on"</string>
<!-- Default value of What field -->
<!-- Default value of What field (as a hint to the user) -->
<string name="hint_what">"Event name"</string>
<!-- Default value of Where field -->
<!-- Default value of Where field (as a hint to the user) -->
<string name="hint_where">"Event location"</string>
<!-- Default value of Description field -->
<!-- Default value of Description field (as a hint to the user) -->
<string name="hint_description">"Event description"</string>
<string name="creating_event">"Creating event\u2026"</string>
<string name="saving_event">"Saving event\u2026"</string>
<string name="loading_calendars_title">"Loading calendars"</string>
<string name="loading_calendars_message">"Loading calendars\u2026"</string>
<!-- The alert toast is not actually being displayed for some reason. -->
<skip />
<!-- The label for the date/time of an event in a popup window -->
<string name="alert_when_label">When:</string>
<!-- The label for the location of an event in a popup window -->
<string name="alert_where_label">Where:</string>
<!-- Notification window messages: -->
<skip />
<!-- This shows the number of additional reminders that were missed. This
is the singular case so it displays '1 more reminder' -->
<string name="alert_missed_events_single">(<xliff:g id="reminder_count">%s</xliff:g> more reminder)</string>
<!-- This shows the number of additional reminders that were missed. For example,
if there were two additional reminders then this would show
'2 more reminders' -->
<string name="alert_missed_events_multiple">(<xliff:g id="reminder_count">%s</xliff:g> more reminders)</string>
<!-- Event info/edit screen labels:-->
<skip />
<!-- This is the title of the screen used to view the details of an event -->
<string name="event_info_title">View event</string>
<!-- This is the title of the screen used to view the details of an invitation
to a meeting or event -->
<string name="event_info_title_invite">Meeting invitation</string>
<string name="reminder">Reminder</string>
<string name="all_day_event">All-day event</string>
<string name="notes_label">Notes</string>
<string name="from_label">From</string>
<!-- Menu item -->
<!-- Menu item to allow the user to add a reminder to an event -->
<string name="add_new_reminder">Add reminder</string>
<!-- EditEventActivity specific strings: -->
<!-- Heading on Event details screen -->
<skip />
<!-- Events have a start date/time and an end date/time. The display shows
the start and end times like 'From start date To end date'. This is the
label before the 'end date'. -->
<string name="edit_event_to_label">To</string>
<!-- Heading on Event details screen -->
<!-- Events have a start date/time and an end date/time. The display shows
the start and end times like 'From start date To end date'. This is the
label before the 'start date'. -->
<string name="edit_event_from_label">From</string>
<!-- Check box label -->
<!-- Check box label that specifies if this is an all-day event -->
<string name="edit_event_all_day_label">All day</string>
<!-- Heading on Event details screen -->
<!-- Label for choosing one of the calendars -->
<string name="edit_event_calendar_label">Calendar</string>
<!-- Menu item -->
<!-- Menu item to show extra options that are used less often -->
<string name="edit_event_show_extra_options">Show extra options</string>
<!-- Menu item -->
<!-- Menu item to hide extra options that are used less often -->
<string name="edit_event_hide_extra_options">Hide extra options</string>
<!-- Heading on Event details screen -->
<!-- Label for the event description -->
<string name="description_label">Description</string>
<!-- Heading on Event details screen -->
<!-- Label for the 'Presence' of an event, which can be either 'busy' (the default)
or 'available' -->
<string name="presence_label">Presence</string>
<!-- Heading on Event details screen -->
<!-- Label for the 'Privacy' of an event, which can be either 'private'
or 'public' -->
<string name="privacy_label">Privacy</string>
<!-- Heading on Event details screen -->
<!-- Label for the list of reminders for an event -->
<string name="reminders_label">Reminders</string>
<string name="reminders_remove_label">Remove</string>
<string name="no_syncable_calendars">No calendars</string>
<string name="no_calendars_found">You have no calendars.</string>
<!-- View Event -->
<string name="view_event_edit">Edit</string>
<skip />
<!-- Label for which calendar an event is part of -->
<string name="view_event_calendar_label">Calendar</string>
<!-- Label for the local timezone -->
<string name="view_event_timezone_label">Local time zone</string>
<!-- Label for whether the user is attending this event. This is shown when
a user is invited to a meeting or event. The possible answers are
'yes', 'no', and 'maybe' (and, initially, 'no response'). -->
<string name="view_event_response_label">Attending?</string>
<!-- Heading on View event screen -->
<string name="view_event_reminders_label">Reminders</string>
<string name="view_event_accept_label">Attending</string>
<string name="view_event_tentative_label">Maybe attending</string>
<string name="view_event_decline_label">Not attending</string>
<string name="view_event_no_response_label">(No response)</string>
<string name="view_event_accept_button">Yes</string>
<string name="view_event_tentative_button">Maybe</string>
<string name="view_event_decline_button">No</string>
<!-- Agenda View strings -->
<string name="agenda_when_label">When</string>
<string name="agenda_where_label">Where</string>
<skip />
<!-- This is shown as part of the heading at the top of a list of today's events. -->
<string name="agenda_today">Today</string>
<!-- ICS Import activity -->
<skip />
<!-- This is a abbreviation for 'Number of events' and is a label next to
an input for the user to enter the number of events to import. -->
<string name="num_events">"Num events"</string>
<!-- Button labels: -->
<string name="done_label">"Done"</string>
<skip />
<!-- This is the title of a popup window that is displayed when the user
edits a repeating event. -->
<string name="edit_event_label">"Edit event"</string>
<string name="ok_label">"OK"</string>
<!-- The button label for deleting an event -->
<string name="delete_label">"Delete"</string>
<!-- A menu item for deleting an event -->
<string name="delete_event_label">"Delete event"</string>
<!-- The button label for saving an event -->
<string name="save_label">Save</string>
<!-- The button label for discarding changes to an event -->
<string name="discard_label">Discard changes</string>
<!-- The button label for importing events from another source to the phone -->
<string name="import_label">"Import"</string>
<string name="cancel_label">"Cancel"</string>
<string name="more_options_label">"More options"</string>
<string name="view_label">"View"</string>
<string name="snooze_label">"Snooze"</string>
<string name="dismiss_label">"Dismiss"</string>
<!-- Button labels on expanded notification reminders: -->
<skip />
<!-- The button label for making the reminder alarms go away temporarily.
The reminder alarms will fire off again in 5 minutes. -->
<string name="snooze_all_label">"Snooze all"</string>
<!-- The button label for dismissing all the current reminder alarms. This
causes them to disappear from the notification screen. -->
<string name="dismiss_all_label">"Dismiss all"</string>
<string name="calendar_item_calendar_text"></string>
<!-- Repetition dialog options: -->
<string name="does_not_repeat">Does not repeat</string>
<skip />
<!-- A label in a multiple-choice list for the specifying that an event does
not repeat -->
<string name="does_not_repeat">One-time event</string>
<!-- A label in a multiple-choice list for the specifying that an event
repeats daily -->
<string name="daily">Daily</string>
<!-- A label in a multiple-choice list for the specifying that an event
repeats every weekday (Monday through Friday) -->
<string name="every_weekday">"Every weekday (Mon\u2013Fri)"</string>
<!-- A label in a multiple-choice list for the specifying that an event
repeats weekly on some day of the week. For example,
'Weekly (every Tuesday)'. -->
<string name="weekly">"Weekly (every <xliff:g id="days_of_week">%s</xliff:g>)"</string>
<!-- Example: "Monthly (every first Sunday)" -->
<!-- 1: "first" -->
<!-- 2: "Sunday" -->
<!-- Example: 'Monthly (every first Sunday)' -->
<!-- 1st parameter is an ordinal number, like 'first' -->
<!-- 2nd parameter is a day of the week, like 'Sunday' -->
<string name="monthly_on_day_count">"Monthly (every <xliff:g id="ordinal_number">%1$s</xliff:g> <xliff:g id="day_of_week">%2$s</xliff:g>)"</string>
<!-- Example: "Monthly (on day 15)" -->
<string name="monthly_on_day">"Monthly (on day <xliff:g id="day_of_month">%s</xliff:g>)"</string>
<!-- Example: "Yearly (on April 15)" -->
<string name="yearly">"Yearly (on <xliff:g id="dates">%s</xliff:g>)"</string>
<!-- This is a label for telling the user that this event repeats in
custom (non-standard) way from the usual repeat rates (such as daily,
weekly, etc.) and that the user cannot change this on the phone
(but only on the web). -->
<string name="custom">"Custom\u2026 (cannot customize on phone)"</string>
<!-- This is a choice in a list that the user sees when he tries to modify
a repeating event. This choice says to change just this one instance
of this repeating event. -->
<string name="modify_event">Change only this event.</string>
<!-- This is a choice in a list that the user sees when he tries to modify
a repeating event. This choice says to change all occurrences of
this repeating event. -->
<string name="modify_all">Change all events in the series.</string>
<!-- This is a choice in a list that the user sees when he tries to modify
a repeating event. This choice says to change this instance and all
future occurrences of this repeating event. -->
<string name="modify_all_following">Change this and all future events.</string>
<!-- Dialogs -->
<!-- Confirmation dialog message -->
<skip />
<!-- This is a confirmation message in a popup dialog that appears when the
user has asked to delete an event. The user still has a chance to cancel
this operation. -->
<string name="delete_this_event_title">This event will be deleted.</string>
<!-- Confirmation dialog title -->
<!-- This is the title of a popup dialog that asks for confirmation before
deleting an event. -->
<string name="delete_title">Delete</string>
<!-- This is the title of the screen for setting user preferences. -->
<string name="preferences_title">"Settings"</string>
<!-- Title for settings section -->
<!-- This is the title of a section in the Settings screen for settings
related to viewing calendar events -->
<string name="preferences_general_title">Calendar view setting</string>
<!-- Title for settings section -->
<!-- This is the title of a section in the Settings screen for settings
related to reminders for calendar events -->
<string name="preferences_alerts_title">Reminder settings</string>
<!-- Settings check box label -->
<!-- Settings check box label to hide events that the user has declined to attend -->
<string name="preferences_hide_declined_title">Hide declined events</string>
<!-- Settings option -->
<!-- Settings option to bring up a dialog that lets the user choose how
reminder notifications should occur. -->
<string name="preferences_alerts_type_title">Set alerts &amp; notifications</string>
<!-- -->
<string name="preferences_alerts_type_dialog">Set reminder</string>
<!-- The title of a popup dialog that lets the user choose how
reminder notifications should occur. -->
<string name="preferences_alerts_type_dialog">Alerts &amp; notifications</string>
<!-- DO NOT TRANSLATE -->
<string name="preferences_alerts_type_default">1</string>
<!-- Settings check box label -->
<!-- Settings check box label that specifies whether the phone should vibrate -->
<string name="preferences_alerts_vibrate_title">Vibrate</string>
<!-- Settings option -->
<string name="preferences_alerts_sound_title">Sound</string>
<!-- Title of ringtone selector dialog -->
<string name="preferences_alerts_ringtone_title">Select ringtone</string>
<!-- Settings option -->
<!-- List item label for setting the default number of reminder minutes -->
<string name="preferences_default_reminder_title">Set default reminder</string>
<!-- Title of default reminder dialog -->
<string name="preferences_default_reminder_dialog">Set default reminder</string>
<!-- Value of default reminder time -->
<!-- Title of dialog for setting the default number of reminder minutes -->
<string name="preferences_default_reminder_dialog">Default reminder time</string>
<!-- Default value for the number of reminder minutes -->
<string name="preferences_default_reminder_default">10</string>
<!-- Screen title if user goes into Calendar before events have synced -->
<string name="no_calendars">Waiting for sync</string>
<!-- Appears on screen if user goes into Calendar before events have synced -->
<string name="no_calendars_msg">Your events will appear shortly.</string>
</resources>

View File

@ -18,18 +18,6 @@
*/
-->
<resources>
<style name="Activity" parent="android:Theme">
<item name="android:windowBackground">@null</item>
</style>
<style name="Activity.Day">
<item name="android:windowBackground">@null</item>
</style>
<style name="Activity.Week">
<item name="android:windowBackground">@null</item>
</style>
<style name="Alert" parent="android:Theme.Dialog">
<item name="android:windowBackground">@null</item>
@ -51,18 +39,12 @@
<style name="TextAppearance.MonthView_DayLabel">
<item name="android:textSize">14sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">#ffffffff</item>
</style>
<style name="TextAppearance.AgendaView_TitleLabel">
<item name="android:textSize">14sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/black</item>
<item name="android:textColor">@android:color/white</item>
</style>
<style name="TextAppearance.AgendaView_ValueLabel">
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/black</item>
<item name="android:textColor">@android:color/black</item>
</style>
<style name="TextAppearance.EditEvent_Label">
@ -70,30 +52,20 @@
<item name="android:textStyle">bold</item>
</style>
<style name="TextAppearance.EditEvent_Value">
<item name="android:textSize">14sp</item>
</style>
<style name="TextAppearance.Alert_Title">
<item name="android:textSize">18sp</item>
<item name="android:textColor">@color/white</item>
<item name="android:textColor">@android:color/white</item>
</style>
<style name="TextAppearance.Alert_Label">
<item name="android:textSize">14sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/white</item>
<item name="android:textColor">@android:color/white</item>
</style>
<style name="TextAppearance.Alert_Value">
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/white</item>
</style>
<style name="TextAppearance.title">
<item name="android:textSize">16sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">#ffffffff</item>
<item name="android:textColor">@android:color/white</item>
</style>
</resources>

View File

@ -30,13 +30,13 @@ import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.pim.Time;
import android.preference.PreferenceManager;
import android.provider.Calendar;
import android.provider.Calendar.Attendees;
import android.provider.Calendar.Calendars;
import android.provider.Calendar.Events;
import android.provider.Calendar.Instances;
import android.text.format.Time;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;

View File

@ -22,9 +22,9 @@ import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.PorterDuff;
import android.net.Uri;
import android.pim.DateFormat;
import android.pim.DateUtils;
import android.provider.Calendar.Reminders;
import android.text.format.DateFormat;
import android.text.format.DateUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
@ -83,7 +83,7 @@ public class AgendaAdapter extends ResourceCursorAdapter {
if (DateFormat.is24HourFormat(context)) {
flags |= DateUtils.FORMAT_24HOUR;
}
whenString = DateUtils.formatDateRange(begin, end, flags);
whenString = DateUtils.formatDateRange(context, begin, end, flags);
when.setText(whenString);
// Repeating info

View File

@ -18,8 +18,8 @@ package com.android.calendar;
import android.content.Context;
import android.database.Cursor;
import android.pim.DateUtils;
import android.pim.Time;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -123,7 +123,7 @@ public class AgendaByDayAdapter extends BaseAdapter {
Time date = mTime;
long millis = date.setJulianDay(row.mData);
int flags = DateUtils.FORMAT_NUMERIC_DATE;
holder.dateView.setText(DateUtils.formatDateRange(millis, millis, flags));
holder.dateView.setText(DateUtils.formatDateRange(mContext, millis, millis, flags));
if (row.mData == mTodayJulianDay) {
holder.dayOfWeekView.setText(R.string.agenda_today);

View File

@ -150,12 +150,9 @@ public class AlertActivity extends Activity {
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.alert_activity);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT, // width
ViewGroup.LayoutParams.FILL_PARENT, // height
WindowManager.LayoutParams.TYPE_TOAST, // type
WindowManager.LayoutParams.FLAG_BLUR_BEHIND, // flags
PixelFormat.TRANSLUCENT); // format
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.width = ViewGroup.LayoutParams.FILL_PARENT;
lp.height = ViewGroup.LayoutParams.FILL_PARENT;
// Get the dim amount from the theme
TypedArray a = obtainStyledAttributes(com.android.internal.R.styleable.Theme);
@ -163,6 +160,7 @@ public class AlertActivity extends Activity {
a.recycle();
getWindow().setAttributes(lp);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
mResolver = getContentResolver();
mQueryHandler = new QueryHandler(mResolver);

View File

@ -20,8 +20,8 @@ import android.content.Context;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.PorterDuff;
import android.pim.DateFormat;
import android.pim.DateUtils;
import android.text.format.DateFormat;
import android.text.format.DateUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.ResourceCursorAdapter;
@ -91,7 +91,7 @@ public class AlertAdapter extends ResourceCursorAdapter {
if (DateFormat.is24HourFormat(context)) {
flags |= DateUtils.FORMAT_24HOUR;
}
when = DateUtils.formatDateRange(startMillis, endMillis, flags);
when = DateUtils.formatDateRange(context, startMillis, endMillis, flags);
textView = (TextView) view.findViewById(R.id.when);
textView.setText(when);

View File

@ -33,7 +33,6 @@ import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.os.Process;
import android.pim.DateUtils;
import android.preference.PreferenceManager;
import android.provider.Calendar;
import android.provider.Calendar.Attendees;
@ -41,6 +40,7 @@ import android.provider.Calendar.CalendarAlerts;
import android.provider.Calendar.Instances;
import android.provider.Calendar.Reminders;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.util.Config;
import android.util.Log;
import android.view.LayoutInflater;
@ -51,7 +51,6 @@ import android.view.View;
*/
public class AlertService extends Service {
private static final String TAG = "AlertService";
private static final boolean localLOGV = false || Config.LOGV;
private volatile Looper mServiceLooper;
private volatile ServiceHandler mServiceHandler;
@ -108,7 +107,9 @@ public class AlertService extends Service {
// The Uri specifies an entry in the CalendarAlerts table
Uri alertUri = Uri.parse(bundle.getString("uri"));
if (localLOGV) Log.v(TAG, "uri: " + alertUri);
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "uri: " + alertUri);
}
ContentResolver cr = getContentResolver();
Cursor alertCursor = cr.query(alertUri, ALERT_PROJECTION,
@ -123,7 +124,9 @@ public class AlertService extends Service {
try {
if (alertCursor == null || !alertCursor.moveToFirst()) {
// This can happen if the event was deleted.
if (localLOGV) Log.v(TAG, "alert not found");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "alert not found");
}
return;
}
alertId = alertCursor.getLong(ALERT_INDEX_ID);
@ -152,7 +155,9 @@ public class AlertService extends Service {
// Do not show an alert if the event was declined
if (declined) {
if (localLOGV) Log.v(TAG, "event declined, alert cancelled");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "event declined, alert cancelled");
}
return;
}
@ -173,7 +178,9 @@ public class AlertService extends Service {
if (instanceCursor == null || !instanceCursor.moveToFirst()) {
// Delete this alarm from the CalendarAlerts table
cr.delete(alertUri, null /* selection */, null /* selection args */);
if (localLOGV) Log.v(TAG, "instance not found, alert cancelled");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "instance not found, alert cancelled");
}
return;
}
instanceBegin = instanceCursor.getLong(INSTANCES_INDEX_BEGIN);
@ -196,7 +203,9 @@ public class AlertService extends Service {
if (reminderCursor == null || reminderCursor.getCount() == 0) {
// Delete this alarm from the CalendarAlerts table
cr.delete(alertUri, null /* selection */, null /* selection args */);
if (localLOGV) Log.v(TAG, "reminder not found, alert cancelled");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "reminder not found, alert cancelled");
}
return;
}
} finally {
@ -211,7 +220,9 @@ public class AlertService extends Service {
if (alarmTime > instanceEnd) {
// Delete this alarm from the CalendarAlerts table
cr.delete(alertUri, null /* selection */, null /* selection args */);
if (localLOGV) Log.v(TAG, "event ended, alert cancelled");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "event ended, alert cancelled");
}
return;
}
@ -227,7 +238,9 @@ public class AlertService extends Service {
if (computedAlarmTime > alarmTime) {
// Delete this alarm from the CalendarAlerts table
cr.delete(alertUri, null /* selection */, null /* selection args */);
if (localLOGV) Log.v(TAG, "event postponed, alert cancelled");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "event postponed, alert cancelled");
}
return;
}
@ -250,7 +263,9 @@ public class AlertService extends Service {
if (alertCursor.getCount() > 0) {
// Delete this alarm from the CalendarAlerts table
cr.delete(alertUri, null /* selection */, null /* selection args */);
if (localLOGV) Log.v(TAG, "duplicate alarm, alert cancelled");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "duplicate alarm, alert cancelled");
}
return;
}
} finally {
@ -264,7 +279,9 @@ public class AlertService extends Service {
alertCursor = CalendarAlerts.query(cr, ALERT_PROJECTION, selection, null);
if (alertCursor == null || alertCursor.getCount() == 0) {
if (localLOGV) Log.v(TAG, "no fired alarms found");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "no fired alarms found");
}
return;
}
@ -283,7 +300,9 @@ public class AlertService extends Service {
// multiple reminders. Do not count this as a separate
// reminder. But we do want to sound the alarm and vibrate
// the phone, if necessary.
if (localLOGV) Log.v(TAG, "multiple alarms for this event");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "multiple alarms for this event");
}
numReminders -= 1;
}
}
@ -291,7 +310,9 @@ public class AlertService extends Service {
alertCursor.close();
}
if (localLOGV) Log.v(TAG, "creating new alarm notification, numReminders: " + numReminders);
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "creating new alarm notification, numReminders: " + numReminders);
}
Notification notification = AlertReceiver.makeNewAlertNotification(this, eventName,
location, numReminders);
@ -304,7 +325,9 @@ public class AlertService extends Service {
CalendarPreferenceActivity.ALERT_TYPE_STATUS_BAR);
if (reminderType.equals(CalendarPreferenceActivity.ALERT_TYPE_OFF)) {
if (localLOGV) Log.v(TAG, "alert preference is OFF");
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "alert preference is OFF");
}
return;
}

View File

@ -28,8 +28,8 @@ import android.content.IntentFilter;
import android.database.ContentObserver;
import android.os.Bundle;
import android.os.Handler;
import android.pim.Time;
import android.provider.Calendar;
import android.text.format.Time;
import android.view.GestureDetector;
import android.view.Menu;
import android.view.MenuItem;

View File

@ -39,12 +39,12 @@ import android.graphics.Path.Direction;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Handler;
import android.pim.DateFormat;
import android.pim.DateUtils;
import android.pim.Time;
import android.provider.Calendar.Attendees;
import android.provider.Calendar.Calendars;
import android.provider.Calendar.Events;
import android.text.format.DateFormat;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Gravity;
@ -526,7 +526,7 @@ public class CalendarView extends View
| DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_MONTH;
}
mDateRange = DateUtils.formatDateRange(start, end, flags);
mDateRange = DateUtils.formatDateRange(mParentActivity, start, end, flags);
// Do not set the title here because this is called when executing
// initNextView() to prepare the Day view when sliding the finger
// horizontally but we don't always want to change the title. And
@ -1856,8 +1856,8 @@ public class CalendarView extends View
if (DateFormat.is24HourFormat(mContext)) {
flags |= DateUtils.FORMAT_24HOUR;
}
String timeRange = DateUtils.formatDateRange(ev.startMillis, ev.endMillis,
flags);
String timeRange = DateUtils.formatDateRange(mParentActivity,
ev.startMillis, ev.endMillis, flags);
Log.i("Cal", "left: " + left + " right: " + right + " top: " + top
+ " bottom: " + bottom + " ev: " + timeRange + " " + ev.title);
}
@ -2236,7 +2236,8 @@ public class CalendarView extends View
if (DateFormat.is24HourFormat(mContext)) {
flags |= DateUtils.FORMAT_24HOUR;
}
String timeRange = DateUtils.formatDateRange(event.startMillis, event.endMillis, flags);
String timeRange = DateUtils.formatDateRange(mParentActivity,
event.startMillis, event.endMillis, flags);
TextView timeView = (TextView) mPopupView.findViewById(R.id.time);
timeView.setText(timeRange);
@ -2750,7 +2751,8 @@ public class CalendarView extends View
// for (Event ev : mSelectedEvents) {
// int flags = DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL
// | DateUtils.FORMAT_CAP_NOON_MIDNIGHT;
// String timeRange = formatDateRange(mResources, ev.startMillis, ev.endMillis, flags);
// String timeRange = formatDateRange(mParentActivity,
// ev.startMillis, ev.endMillis, flags);
//
// Log.i("Cal", " " + timeRange + " " + ev.title);
// }

View File

@ -19,7 +19,7 @@ package com.android.calendar;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.content.Context;
import android.pim.Time;
import android.text.format.Time;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.View;

View File

@ -25,9 +25,9 @@ import android.content.DialogInterface;
import android.database.Cursor;
import android.net.Uri;
import android.pim.EventRecurrence;
import android.pim.Time;
import android.provider.Calendar;
import android.provider.Calendar.Events;
import android.text.format.Time;
/**
* A helper class for deleting events. If a normal event is selected for
@ -52,6 +52,7 @@ import android.provider.Calendar.Events;
*/
public class DeleteEventHelper {
private static final String TAG = "DeleteEventHelper";
private final Activity mParent;
private final ContentResolver mContentResolver;
@ -84,9 +85,10 @@ public class DeleteEventHelper {
Events._SYNC_ID,
Events.EVENT_TIMEZONE,
};
private int mEventIndexId;
private int mEventIndexRrule;
private String mSyncId;
public DeleteEventHelper(Activity parent, boolean exitWhenDone) {
mParent = parent;
@ -195,6 +197,8 @@ public class DeleteEventHelper {
mCursor = cursor;
mEventIndexId = mCursor.getColumnIndexOrThrow(Events._ID);
mEventIndexRrule = mCursor.getColumnIndexOrThrow(Events.RRULE);
int eventIndexSyncId = mCursor.getColumnIndexOrThrow(Events._SYNC_ID);
mSyncId = mCursor.getString(eventIndexSyncId);
// If this is a repeating event, then pop up a dialog asking the
// user if they want to delete all of the repeating events or
@ -206,25 +210,28 @@ public class DeleteEventHelper {
.setTitle(R.string.delete_title)
.setMessage(R.string.delete_this_event_title)
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(R.string.ok_label, mDeleteNormalDialogListener)
.setNegativeButton(R.string.cancel_label, null)
.setPositiveButton(android.R.string.ok, mDeleteNormalDialogListener)
.setNegativeButton(android.R.string.cancel, null)
.show();
} else {
// This is a repeating event. Pop up a dialog asking which events
// to delete.
int labelsArrayId = R.array.delete_repeating_labels;
if (mSyncId == null) {
labelsArrayId = R.array.delete_repeating_labels_no_selected;
}
new AlertDialog.Builder(mParent)
.setTitle(R.string.delete_title)
.setIcon(android.R.drawable.ic_dialog_alert)
.setSingleChoiceItems(R.array.delete_repeating_labels, which, mDeleteListListener)
.setPositiveButton(R.string.ok_label, mDeleteRepeatingDialogListener)
.setNegativeButton(R.string.cancel_label, null)
.setSingleChoiceItems(labelsArrayId, which, mDeleteListListener)
.setPositiveButton(android.R.string.ok, mDeleteRepeatingDialogListener)
.setNegativeButton(android.R.string.cancel, null)
.show();
}
}
private void deleteRepeatingEvent(int which) {
int indexDtstart = mCursor.getColumnIndexOrThrow(Events.DTSTART);
int indexSyncId = mCursor.getColumnIndexOrThrow(Events._SYNC_ID);
int indexAllDay = mCursor.getColumnIndexOrThrow(Events.ALL_DAY);
int indexTitle = mCursor.getColumnIndexOrThrow(Events.TITLE);
int indexTimezone = mCursor.getColumnIndexOrThrow(Events.EVENT_TIMEZONE);
@ -235,9 +242,27 @@ public class DeleteEventHelper {
long dtstart = mCursor.getLong(indexDtstart);
long id = mCursor.getInt(mEventIndexId);
// If the repeating event has not been given a sync id from the server
// yet, then we can't delete a single instance of this event. (This is
// a deficiency in the CalendarProvider and sync code.) We checked for
// that when creating the list of items in the dialog and we removed
// the first element ("DELETE_SELECTED") from the dialog in that case.
// The "which" value is a 0-based index into the list of items, where
// the "DELETE_SELECTED" item is at index 0.
if (mSyncId == null) {
which += 1;
}
switch (which) {
case DELETE_SELECTED:
{
// If we are deleting the first event in the series, then
// instead of creating a recurrence exception, just change
// the start time of the recurrence.
if (dtstart == mStartMillis) {
// TODO
}
// Create a recurrence exception by creating a new event
// with the status "cancelled".
ContentValues values = new ContentValues();
@ -247,14 +272,14 @@ public class DeleteEventHelper {
String title = mCursor.getString(indexTitle);
values.put(Events.TITLE, title);
String syncId = mCursor.getString(indexSyncId);
String timezone = mCursor.getString(indexTimezone);
int calendarId = mCursor.getInt(indexCalendarId);
values.put(Events.EVENT_TIMEZONE, timezone);
values.put(Events.ALL_DAY, allDay ? 1 : 0);
values.put(Events.CALENDAR_ID, calendarId);
values.put(Events.DTSTART, mStartMillis);
values.put(Events.DTEND, mEndMillis);
values.put(Events.ORIGINAL_EVENT, syncId);
values.put(Events.ORIGINAL_EVENT, mSyncId);
values.put(Events.ORIGINAL_INSTANCE_TIME, mStartMillis);
values.put(Events.STATUS, Events.STATUS_CANCELED);

View File

@ -18,40 +18,44 @@ package com.android.calendar;
import static android.provider.Calendar.EVENT_BEGIN_TIME;
import static android.provider.Calendar.EVENT_END_TIME;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.AsyncQueryHandler;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.DialogInterface.OnCancelListener;
import android.content.DialogInterface.OnClickListener;
import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.pim.DateFormat;
import android.pim.DateUtils;
import android.pim.EventRecurrence;
import android.pim.Time;
import android.preference.PreferenceManager;
import android.provider.Calendar.Calendars;
import android.provider.Calendar.Events;
import android.provider.Calendar.Reminders;
import android.text.TextUtils;
import android.text.format.DateFormat;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
@ -63,12 +67,15 @@ import android.widget.ResourceCursorAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.TimeZone;
public class EditEvent extends Activity implements View.OnClickListener {
public class EditEvent extends Activity implements View.OnClickListener,
DialogInterface.OnCancelListener, DialogInterface.OnClickListener {
/**
* This is the symbolic name for the key used to pass in the boolean
* for creating all-day events that is part of the extra data of the intent.
@ -126,7 +133,7 @@ public class EditEvent extends Activity implements View.OnClickListener {
private static final int CALENDARS_INDEX_DISPLAY_NAME = 1;
private static final int CALENDARS_INDEX_TIMEZONE = 2;
private static final String CALENDARS_WHERE = Calendars.ACCESS_LEVEL + ">=" +
Calendars.CONTRIBUTOR_ACCESS;
Calendars.CONTRIBUTOR_ACCESS + " AND " + Calendars.SYNC_EVENTS + "=1";
private static final String[] REMINDERS_PROJECTION = new String[] {
Reminders._ID, // 0
@ -150,6 +157,8 @@ public class EditEvent extends Activity implements View.OnClickListener {
private static final int MODIFY_SELECTED = 1;
private static final int MODIFY_ALL = 2;
private static final int MODIFY_ALL_FOLLOWING = 3;
private static final int DAY_IN_SECONDS = 24 * 60 * 60;
private int mFirstDayOfWeek; // cached in onCreate
private Uri mUri;
@ -179,6 +188,10 @@ public class EditEvent extends Activity implements View.OnClickListener {
private EventRecurrence mEventRecurrence = new EventRecurrence();
private String mRrule;
private boolean mCalendarsQueryComplete;
private boolean mSaveAfterQueryComplete;
private ProgressDialog mLoadingCalendarsDialog;
private AlertDialog mNoCalendarsDialog;
private ContentValues mInitialValues;
/**
@ -201,7 +214,8 @@ public class EditEvent extends Activity implements View.OnClickListener {
private int mDefaultReminderMinutes;
private DeleteEventHelper mDeleteEventHelper;
private QueryHandler mQueryHandler;
/* This class is used to update the time buttons. */
private class TimeListener implements OnTimeSetListener {
private View mView;
@ -355,8 +369,9 @@ public class EditEvent extends Activity implements View.OnClickListener {
// on the "remove reminder" button.
public void onClick(View v) {
if (v == mSaveButton) {
save();
finish();
if (save()) {
finish();
}
return;
}
@ -392,9 +407,84 @@ public class EditEvent extends Activity implements View.OnClickListener {
updateRemindersVisibility();
}
// This is called if the user cancels a popup dialog. There are two
// dialogs: the "Loading calendars" dialog, and the "No calendars"
// dialog. The "Loading calendars" dialog is shown if there is a delay
// in loading the calendars (needed when creating an event) and the user
// tries to save the event before the calendars have finished loading.
// The "No calendars" dialog is shown if there are no syncable calendars.
public void onCancel(DialogInterface dialog) {
if (dialog == mLoadingCalendarsDialog) {
mSaveAfterQueryComplete = false;
} else if (dialog == mNoCalendarsDialog) {
finish();
}
}
// This is called if the user clicks on a dialog button.
public void onClick(DialogInterface dialog, int which) {
if (dialog == mNoCalendarsDialog) {
finish();
}
}
private class QueryHandler extends AsyncQueryHandler {
public QueryHandler(ContentResolver cr) {
super(cr);
}
@Override
protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
// If the Activity is finishing, then close the cursor.
// Otherwise, use the new cursor in the adapter.
if (isFinishing()) {
stopManagingCursor(cursor);
cursor.close();
} else {
mCalendarsCursor = cursor;
startManagingCursor(cursor);
// Stop the spinner
getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS,
Window.PROGRESS_VISIBILITY_OFF);
// If there are no syncable calendars, then we cannot allow
// creating a new event.
if (cursor.getCount() == 0) {
// Cancel the "loading calendars" dialog if it exists
if (mSaveAfterQueryComplete) {
mLoadingCalendarsDialog.cancel();
}
// Create an error message for the user that, when clicked,
// will exit this activity without saving the event.
AlertDialog.Builder builder = new AlertDialog.Builder(EditEvent.this);
builder.setTitle(R.string.no_syncable_calendars)
.setIcon(android.R.drawable.ic_dialog_alert)
.setMessage(R.string.no_calendars_found)
.setPositiveButton(android.R.string.ok, EditEvent.this)
.setOnCancelListener(EditEvent.this);
mNoCalendarsDialog = builder.show();
return;
}
// populate the calendars spinner
CalendarsAdapter adapter = new CalendarsAdapter(EditEvent.this, mCalendarsCursor);
mCalendarsSpinner.setAdapter(adapter);
mCalendarsQueryComplete = true;
if (mSaveAfterQueryComplete) {
mLoadingCalendarsDialog.cancel();
save();
finish();
}
}
}
}
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.edit_event);
mFirstDayOfWeek = Calendar.getInstance().getFirstDayOfWeek();
@ -407,6 +497,11 @@ public class EditEvent extends Activity implements View.OnClickListener {
if (mUri != null) {
mEventCursor = managedQuery(mUri, EVENT_PROJECTION, null, null);
if (mEventCursor == null || mEventCursor.getCount() == 0) {
// The cursor is empty. This can happen if the event was deleted.
finish();
return;
}
}
long begin = intent.getLongExtra(EVENT_BEGIN_TIME, 0);
@ -419,18 +514,29 @@ public class EditEvent extends Activity implements View.OnClickListener {
allDay = mEventCursor.getInt(EVENT_INDEX_ALL_DAY) != 0;
String rrule = mEventCursor.getString(EVENT_INDEX_RRULE);
String timezone = mEventCursor.getString(EVENT_INDEX_TIMEZONE);
long calendarId = mEventCursor.getInt(EVENT_INDEX_CALENDAR_ID);
// Remember the initial values
mInitialValues = new ContentValues();
mInitialValues.put(EVENT_BEGIN_TIME, begin);
mInitialValues.put(EVENT_END_TIME, end);
mInitialValues.put(Events.ALL_DAY, allDay);
mInitialValues.put(Events.ALL_DAY, allDay ? 1 : 0);
mInitialValues.put(Events.RRULE, rrule);
mInitialValues.put(Events.EVENT_TIMEZONE, timezone);
mInitialValues.put(Events.CALENDAR_ID, calendarId);
} else {
// We are creating a new event, so set the default from the
// intent (if specified).
allDay = intent.getBooleanExtra(EVENT_ALL_DAY, false);
// Start the spinner
getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS,
Window.PROGRESS_VISIBILITY_ON);
// Start a query in the background to read the list of calendars
mQueryHandler = new QueryHandler(getContentResolver());
mQueryHandler.startQuery(0, null, Calendars.CONTENT_URI, CALENDARS_PROJECTION,
CALENDARS_WHERE, null /* selection args */, null /* sort order */);
}
// If the event is all-day, read the times in UTC timezone
@ -462,9 +568,6 @@ public class EditEvent extends Activity implements View.OnClickListener {
}
}
mCalendarsCursor = managedQuery(Calendars.CONTENT_URI, CALENDARS_PROJECTION,
CALENDARS_WHERE, null);
// cache all the widgets
mTitleTextView = (TextView) findViewById(R.id.title);
mLocationTextView = (TextView) findViewById(R.id.location);
@ -578,27 +681,67 @@ public class EditEvent extends Activity implements View.OnClickListener {
updateRemindersVisibility();
mDeleteEventHelper = new DeleteEventHelper(this, true /* exit when done */);
if (mEventCursor == null) {
// Allow the intent to specify the fields in the event.
// This will allow other apps to create events easily.
initFromIntent(intent);
}
}
private void initFromIntent(Intent intent) {
String title = intent.getStringExtra(Events.TITLE);
if (title != null) {
mTitleTextView.setText(title);
}
String location = intent.getStringExtra(Events.EVENT_LOCATION);
if (location != null) {
mLocationTextView.setText(location);
}
String description = intent.getStringExtra(Events.DESCRIPTION);
if (description != null) {
mDescriptionTextView.setText(description);
}
int availability = intent.getIntExtra(Events.TRANSPARENCY, -1);
if (availability != -1) {
mAvailabilitySpinner.setSelection(availability);
}
int visibility = intent.getIntExtra(Events.VISIBILITY, -1);
if (visibility != -1) {
mVisibilitySpinner.setSelection(visibility);
}
String rrule = intent.getStringExtra(Events.RRULE);
if (rrule != null) {
mRrule = rrule;
mEventRecurrence.parse(rrule);
}
}
@Override
protected void onResume() {
super.onResume();
// populate the calendars spinner
mCalendarsSpinner = (Spinner) findViewById(R.id.calendars);
CalendarsAdapter adapter = new CalendarsAdapter(this, mCalendarsCursor);
mCalendarsSpinner.setAdapter(adapter);
if (mUri != null) {
if (mEventCursor == null || mEventCursor.getCount() == 0) {
// The cursor is empty. This can happen if the event was deleted.
finish();
return;
}
}
if (mEventCursor != null) {
Cursor cursor = mEventCursor;
cursor.moveToFirst();
mRrule = cursor.getString(EVENT_INDEX_RRULE);
String title = cursor.getString(EVENT_INDEX_TITLE);
String description = cursor.getString(EVENT_INDEX_DESCRIPTION);
String location = cursor.getString(EVENT_INDEX_EVENT_LOCATION);
long calendarId = cursor.getLong(EVENT_INDEX_CALENDAR_ID);
int availability = cursor.getInt(EVENT_INDEX_TRANSPARENCY);
int visibility = cursor.getInt(EVENT_INDEX_VISIBILITY);
if (visibility > 0) {
@ -669,17 +812,8 @@ public class EditEvent extends Activity implements View.OnClickListener {
mAvailabilitySpinner.setSelection(availability);
mVisibilitySpinner.setSelection(visibility);
// If there is a calendarId set, move the spinner to the proper
// position and hide the spinner, since this is an existing event.
if (calendarId != -1) {
int count = adapter.getCount();
for (int pos = 0 ; pos < count ; pos++) {
long rowID = adapter.getItemId(pos);
if (rowID == calendarId) {
mCalendarsSpinner.setSelection(pos);
}
}
}
// This is an existing event so hide the calendar spinner
// since we can't change the calendar.
View calendarSeparator = findViewById(R.id.calendar_separator);
View calendarLabel = findViewById(R.id.calendar_label);
calendarSeparator.setVisibility(View.GONE);
@ -788,7 +922,11 @@ public class EditEvent extends Activity implements View.OnClickListener {
// title, location and description are all empty, in order to
// prevent accidental "no subject" event creations.
if (mUri != null || !isEmpty()) {
save();
if (!save()) {
// We cannot exit this activity because the calendars
// are still loading.
return true;
}
}
break;
}
@ -860,7 +998,7 @@ public class EditEvent extends Activity implements View.OnClickListener {
if (DateFormat.is24HourFormat(this)) {
flags |= DateUtils.FORMAT_24HOUR;
}
repeatArray.add(String.format(format, DateUtils.formatDateRange(when, when, flags)));
repeatArray.add(String.format(format, DateUtils.formatDateTime(this, when, flags)));
recurrenceIndexes.add(REPEATS_YEARLY);
if (isCustomRecurrence) {
@ -1020,7 +1158,7 @@ public class EditEvent extends Activity implements View.OnClickListener {
int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR |
DateUtils.FORMAT_SHOW_WEEKDAY | DateUtils.FORMAT_ABBREV_MONTH |
DateUtils.FORMAT_ABBREV_WEEKDAY;
view.setText(DateUtils.formatDateRange(millis, millis, flags));
view.setText(DateUtils.formatDateTime(this, millis, flags));
}
private void setTime(TextView view, long millis) {
@ -1028,16 +1166,38 @@ public class EditEvent extends Activity implements View.OnClickListener {
if (DateFormat.is24HourFormat(this)) {
flags |= DateUtils.FORMAT_24HOUR;
}
view.setText(DateUtils.formatDateRange(millis, millis, flags));
view.setText(DateUtils.formatDateTime(this, millis, flags));
}
private void save() {
// Avoid saving if the calendars cursor is empty. This shouldn't ever
// happen since the setup wizard should ensure the user has a calendar.
if (mCalendarsCursor == null || mCalendarsCursor.getCount() == 0) {
Log.w("Cal", "The calendars table does not contain any calendars. New event was not "
+ "created.");
return;
// Saves the event. Returns true if it is okay to exit this activity.
private boolean save() {
// If we are creating a new event, then make sure we wait until the
// query to fetch the list of calendars has finished.
if (mEventCursor == null) {
if (!mCalendarsQueryComplete) {
// Wait for the calendars query to finish.
if (mLoadingCalendarsDialog == null) {
// Create the progress dialog
mLoadingCalendarsDialog = ProgressDialog.show(this,
getText(R.string.loading_calendars_title),
getText(R.string.loading_calendars_message),
true, true, this);
mSaveAfterQueryComplete = true;
}
return false;
}
// Avoid creating a new event if the calendars cursor is empty. This
// shouldn't ever happen since the setup wizard should ensure the user
// has a calendar.
if (mCalendarsCursor == null || mCalendarsCursor.getCount() == 0) {
Log.w("Cal", "The calendars table does not contain any calendars."
+ " New event was not created.");
return true;
}
Toast.makeText(this, R.string.creating_event, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, R.string.saving_event, Toast.LENGTH_SHORT).show();
}
ContentResolver cr = getContentResolver();
@ -1071,20 +1231,43 @@ public class EditEvent extends Activity implements View.OnClickListener {
long begin = mInitialValues.getAsLong(EVENT_BEGIN_TIME);
values.put(Events.ORIGINAL_EVENT, mEventCursor.getString(EVENT_INDEX_SYNC_ID));
values.put(Events.ORIGINAL_INSTANCE_TIME, begin);
boolean allDay = mInitialValues.getAsInteger(Events.ALL_DAY) != 0;
values.put(Events.ORIGINAL_ALL_DAY, allDay ? 1 : 0);
uri = cr.insert(Events.CONTENT_URI, values);
} else if (mModification == MODIFY_ALL_FOLLOWING) {
// Modify contents of all future instances of repeating event
// Update the current repeating event to end at the new start time
updatePastEvents(cr, uri);
// Create a new event that has a begin time of now
mEventRecurrence.parse(mRrule);
// Modify this instance and all future instances of repeating event
addRecurrenceRule(values);
values.remove(Events.DTEND);
uri = cr.insert(Events.CONTENT_URI, values);
if (mRrule == null) {
// We've changed a recurring event to a non-recurring event.
// If the event we are editing is the first in the series,
// then delete the whole series. Otherwise, update the series
// to end at the new start time.
if (isFirstEventInSeries()) {
cr.delete(uri, null, null);
} else {
// Update the current repeating event to end at the new
// start time.
updatePastEvents(cr, uri);
}
uri = cr.insert(Events.CONTENT_URI, values);
} else {
if (isFirstEventInSeries()) {
checkTimeDependentFields(values);
values.remove(Events.DTEND);
cr.update(uri, values, null, null);
} else {
// Update the current repeating event to end at the new
// start time.
updatePastEvents(cr, uri);
// Create a new event with the user-modified fields
values.remove(Events.DTEND);
uri = cr.insert(Events.CONTENT_URI, values);
}
}
} else if (mModification == MODIFY_ALL) {
@ -1092,16 +1275,10 @@ public class EditEvent extends Activity implements View.OnClickListener {
addRecurrenceRule(values);
if (mRrule == null) {
// We've changed a recurring event to non recurring
// End the previous events and create a new event
// If we're the first even though we just delete and
// create a new one.
if (isFirstEventInSeries()) {
cr.delete(uri, null, null);
} else {
updatePastEvents(cr, uri);
}
// We've changed a recurring event to a non-recurring event.
// Delete the whole series and replace it with a new
// non-recurring event.
cr.delete(uri, null, null);
uri = cr.insert(Events.CONTENT_URI, values);
} else {
checkTimeDependentFields(values);
@ -1116,6 +1293,7 @@ public class EditEvent extends Activity implements View.OnClickListener {
mReminderValues);
saveReminders(cr, eventId, reminderMinutes, mOriginalMinutes);
}
return true;
}
private boolean isFirstEventInSeries() {
@ -1127,18 +1305,42 @@ public class EditEvent extends Activity implements View.OnClickListener {
private void updatePastEvents(ContentResolver cr, Uri uri) {
long oldStartMillis = mEventCursor.getLong(EVENT_INDEX_DTSTART);
String oldDuration = mEventCursor.getString(EVENT_INDEX_DURATION);
boolean allDay = mEventCursor.getInt(EVENT_INDEX_ALL_DAY) != 0;
String oldRrule = mEventCursor.getString(EVENT_INDEX_RRULE);
mEventRecurrence.parse(oldRrule);
Time oldUntilTime = new Time();
Time untilTime = new Time();
long begin = mInitialValues.getAsLong(EVENT_BEGIN_TIME);
if (mInitialValues.getAsBoolean(Events.ALL_DAY)) {
oldUntilTime.timezone = Time.TIMEZONE_UTC;
}
oldUntilTime.set(begin);
oldUntilTime.second--;
oldUntilTime.normalize(false);
mEventRecurrence.until = oldUntilTime.format2445();
ContentValues oldValues = new ContentValues();
// The "until" time must be in UTC time in order for Google calendar
// to display it properly. For all-day events, the "until" time string
// must include just the date field, and not the time field. The
// repeating events repeat up to and including the "until" time.
untilTime.timezone = Time.TIMEZONE_UTC;
// Subtract one second from the old begin time to get the new
// "until" time.
untilTime.set(begin - 1000); // subtract one second (1000 millis)
if (allDay) {
untilTime.hour = 0;
untilTime.minute = 0;
untilTime.second = 0;
untilTime.allDay = true;
untilTime.normalize(false);
// For all-day events, the duration must be in days, not seconds.
// Otherwise, Google Calendar will (mistakenly) change this event
// into a non-all-day event.
int len = oldDuration.length();
if (oldDuration.charAt(0) == 'P' && oldDuration.charAt(len - 1) == 'S') {
int seconds = Integer.parseInt(oldDuration.substring(1, len - 1));
int days = (seconds + DAY_IN_SECONDS - 1) / DAY_IN_SECONDS;
oldDuration = "P" + days + "D";
}
}
mEventRecurrence.until = untilTime.format2445();
oldValues.put(Events.DTSTART, oldStartMillis);
oldValues.put(Events.DURATION, oldDuration);
oldValues.put(Events.RRULE, mEventRecurrence.toString());
@ -1340,14 +1542,13 @@ public class EditEvent extends Activity implements View.OnClickListener {
boolean isAllDay = mAllDayCheckBox.isChecked();
String location = mLocationTextView.getText().toString();
String description = mDescriptionTextView.getText().toString();
long calendarId = mCalendarsSpinner.getSelectedItemId();
Cursor calendarCursor = (Cursor) mCalendarsSpinner.getSelectedItem();
ContentValues values = new ContentValues();
String timezone = null;
long startMillis;
long endMillis;
long calendarId;
if (isAllDay) {
// Reset start and end time, increment the monthDay by 1, and set
// the timezone to UTC, as required for all-day events.
@ -1364,18 +1565,39 @@ public class EditEvent extends Activity implements View.OnClickListener {
mEndTime.monthDay++;
mEndTime.timezone = timezone;
endMillis = mEndTime.normalize(true);
if (mEventCursor == null) {
// This is a new event
calendarId = mCalendarsSpinner.getSelectedItemId();
} else {
calendarId = mInitialValues.getAsLong(Events.CALENDAR_ID);
}
} else {
startMillis = mStartTime.toMillis(true);
endMillis = mEndTime.toMillis(true);
if (mEventCursor != null) {
// This is an existing event
timezone = mEventCursor.getString(EVENT_INDEX_TIMEZONE);
} else if (calendarCursor != null) {
timezone = calendarCursor.getString(CALENDARS_INDEX_TIMEZONE);
// The timezone might be null if we are changing an existing
// all-day event to a non-all-day event. We need to assign
// a timezone to the non-all-day event.
if (TextUtils.isEmpty(timezone)) {
timezone = TimeZone.getDefault().getID();
}
calendarId = mInitialValues.getAsLong(Events.CALENDAR_ID);
} else {
// This is a new event
calendarId = mCalendarsSpinner.getSelectedItemId();
// The timezone for a new event is the currently displayed
// timezone, NOT the timezone of the containing calendar.
timezone = TimeZone.getDefault().getID();
}
}
values.put(Events.EVENT_TIMEZONE, timezone);
values.put(Events.CALENDAR_ID, calendarId);
values.put(Events.EVENT_TIMEZONE, timezone);
values.put(Events.TITLE, title);
values.put(Events.ALL_DAY, isAllDay ? 1 : 0);
values.put(Events.DTSTART, startMillis);

View File

@ -21,12 +21,12 @@ import android.content.SharedPreferences;
import android.content.res.Resources;
import android.database.Cursor;
import android.os.Debug;
import android.pim.DateUtils;
import android.pim.Time;
import android.preference.PreferenceManager;
import android.provider.Calendar.Attendees;
import android.provider.Calendar.Instances;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.util.Log;
import java.util.ArrayList;
@ -381,40 +381,6 @@ public class Event implements Comparable, Cloneable {
// Compute the column positions separately for the all-day events
doComputePositions(eventsList, false);
doComputePositions(eventsList, true);
if (false) {
// Create a numbered log because adb logcat duplicates old entries
// at random times and this makes it hard to compare two different
// runs. We can post-process the numbered log using sort and uniq.
int logIndex = 0;
for (Event e : eventsList) {
if (!e.allDay) continue;
int flags = DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL
| DateUtils.FORMAT_CAP_NOON_MIDNIGHT;
String timeRange = DateUtils.formatDateRange(e.startMillis,
e.endMillis, flags);
Log.i("Cal", logIndex + " allDay: " + e.allDay
+ " days: " + e.startDay + "," + e.endDay
+ " times: " + e.startTime + "," + e.endTime
+ " " + timeRange
+ " nth/max: " + e.getColumn() + "/" + e.getMaxColumns()
+ " " + e.title);
logIndex += 1;
}
for (Event e : eventsList) {
if (e.allDay) continue;
int flags = DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_ABBREV_ALL
| DateUtils.FORMAT_CAP_NOON_MIDNIGHT;
String timeRange = DateUtils.formatDateRange(e.startMillis,
e.endMillis, flags);
Log.i("Cal", logIndex + " allDay: " + e.allDay
+ " days: " + e.startDay + "," + e.endDay
+ " times: " + e.startTime + "," + e.endTime
+ " " + timeRange
+ " nth/max: " + e.getColumn() + "/" + e.getMaxColumns()
+ " " + e.title);
logIndex += 1;
}
}
}
private static void doComputePositions(ArrayList<Event> eventsList,

View File

@ -29,16 +29,16 @@ import android.database.Cursor;
import android.graphics.PorterDuff;
import android.net.Uri;
import android.os.Bundle;
import android.pim.DateFormat;
import android.pim.DateUtils;
import android.pim.EventRecurrence;
import android.pim.Time;
import android.preference.PreferenceManager;
import android.provider.Calendar;
import android.provider.Calendar.Attendees;
import android.provider.Calendar.Calendars;
import android.provider.Calendar.Events;
import android.provider.Calendar.Reminders;
import android.text.format.DateFormat;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
@ -166,7 +166,11 @@ public class EventInfoActivity extends Activity implements View.OnClickListener
mStartMillis = intent.getLongExtra(EVENT_BEGIN_TIME, 0);
mEndMillis = intent.getLongExtra(EVENT_END_TIME, 0);
mEventCursor = managedQuery(mUri, EVENT_PROJECTION, null, null);
initEventCursor();
if (initEventCursor()) {
// The cursor is empty. This can happen if the event was deleted.
finish();
return;
}
setContentView(R.layout.event_info_activity);
@ -246,18 +250,28 @@ public class EventInfoActivity extends Activity implements View.OnClickListener
@Override
protected void onResume() {
super.onResume();
initEventCursor();
if (initEventCursor()) {
// The cursor is empty. This can happen if the event was deleted.
finish();
return;
}
initAttendeesCursor();
initCalendarsCursor();
}
private void initEventCursor() {
if ((mEventCursor != null) && (mEventCursor.getCount() > 0)) {
mEventCursor.moveToFirst();
mVisibility = mEventCursor.getInt(EVENT_INDEX_ACCESS_LEVEL);
mEventId = mEventCursor.getInt(EVENT_INDEX_ID);
/**
* Initializes the event cursor, which is expected to point to the first
* (and only) result from a query.
* @return true if the cursor is empty.
*/
private boolean initEventCursor() {
if ((mEventCursor == null) || (mEventCursor.getCount() == 0)) {
return true;
}
mEventCursor.moveToFirst();
mVisibility = mEventCursor.getInt(EVENT_INDEX_ACCESS_LEVEL);
mEventId = mEventCursor.getInt(EVENT_INDEX_ID);
return false;
}
private void initAttendeesCursor() {
@ -451,7 +465,7 @@ public class EventInfoActivity extends Activity implements View.OnClickListener
flags |= DateUtils.FORMAT_24HOUR;
}
}
when = DateUtils.formatDateRange(mStartMillis, mEndMillis, flags);
when = DateUtils.formatDateRange(this, mStartMillis, mEndMillis, flags);
setTextCommon(R.id.when, when);
// Show the event timezone if it is different from the local timezone

View File

@ -16,74 +16,44 @@
package com.android.calendar;
import com.google.android.googlelogin.GoogleLoginServiceConstants;
import com.google.android.googlelogin.GoogleLoginServiceHelper;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentResolver;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.DialogInterface.OnCancelListener;
import android.content.DialogInterface.OnClickListener;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.provider.Calendar.Calendars;
import android.provider.Gmail;
public class LaunchActivity extends Activity implements OnCancelListener,
OnClickListener, Runnable {
private static final String[] PROJECTION = new String[] {
Calendars._ID,
};
public class LaunchActivity extends Activity {
public void run() {
/* Start a query to refresh the list of calendars if for some reason
* the list was not fetched from the server. We don't care about
* the contents of the returned cursor; we do the query strictly for
* the side-effect of refreshing the list of calendars from the server.
*/
final ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(Calendars.LIVE_CONTENT_URI, PROJECTION,
null, null, null);
if (cursor != null) {
cursor.close();
}
}
// An arbitrary constant to pass to the GoogleLoginHelperService
private static final int GET_ACCOUNT_REQUEST = 1;
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
// Check to see if there are no calendars
final ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(Calendars.CONTENT_URI, PROJECTION,
null /* selection */,
null /* selectionArgs */,
Calendars.DEFAULT_SORT_ORDER);
boolean missingCalendars = false;
if ((cursor == null) || (cursor.getCount() == 0)) {
missingCalendars = true;
// Only try looking for an account if this is the first launch.
if (icicle == null) {
// This will request a Gmail account and if none are present, it will
// invoke SetupWizard to login or create one. The result is returned
// through onActivityResult().
Bundle bundle = new Bundle();
bundle.putCharSequence("optional_message", getText(R.string.calendar_plug));
GoogleLoginServiceHelper.getCredentials(
this,
GET_ACCOUNT_REQUEST,
bundle,
GoogleLoginServiceConstants.PREFER_HOSTED,
Gmail.GMAIL_AUTH_SERVICE,
true);
}
if (cursor != null) {
cursor.close();
}
if (missingCalendars) {
new AlertDialog.Builder(this)
.setTitle(R.string.no_calendars)
.setMessage(R.string.no_calendars_msg)
.setCancelable(true)
.setOnCancelListener(this)
.setPositiveButton(R.string.ok_label, this)
.show();
new Thread(this).start();
return;
}
}
private void onAccountsLoaded(String account) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String startActivity = prefs.getString(CalendarPreferenceActivity.KEY_START_VIEW,
CalendarPreferenceActivity.DEFAULT_START_VIEW);
@ -101,12 +71,23 @@ public class LaunchActivity extends Activity implements OnCancelListener,
startActivity(intent);
finish();
}
public void onCancel(DialogInterface dialog) {
finish();
}
public void onClick(DialogInterface dialog, int which) {
finish();
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (requestCode == GET_ACCOUNT_REQUEST) {
if (resultCode == RESULT_OK) {
if (intent != null) {
Bundle extras = intent.getExtras();
if (extras != null) {
final String account;
account = extras.getString(GoogleLoginServiceConstants.AUTH_ACCOUNT_KEY);
onAccountsLoaded(account);
}
}
} else {
finish();
}
}
}
}

View File

@ -20,7 +20,7 @@ import static android.provider.Calendar.EVENT_BEGIN_TIME;
import static android.provider.Calendar.EVENT_END_TIME;
import android.app.Activity;
import android.content.Intent;
import android.pim.DateUtils;
import android.text.format.DateUtils;
import android.view.Menu;
import android.view.MenuItem;

View File

@ -29,10 +29,10 @@ import android.content.SharedPreferences;
import android.database.ContentObserver;
import android.os.Bundle;
import android.os.Handler;
import android.pim.DateUtils;
import android.pim.Time;
import android.preference.PreferenceManager;
import android.provider.Calendar.Events;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;

View File

@ -32,10 +32,10 @@ import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.SystemClock;
import android.pim.DateFormat;
import android.pim.DateUtils;
import android.pim.Time;
import android.provider.Calendar.BusyBits;
import android.text.format.DateFormat;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.util.DayOfMonthCursor;
import android.util.Log;
import android.util.SparseArray;
@ -1084,9 +1084,11 @@ public class MonthView extends View implements View.OnCreateContextMenuListener
String timeRange;
if (showEndTime) {
timeRange = DateUtils.formatDateRange(event.startMillis, event.endMillis, flags);
timeRange = DateUtils.formatDateRange(mParentActivity,
event.startMillis, event.endMillis, flags);
} else {
timeRange = DateUtils.formatDateRange(event.startMillis, event.startMillis, flags);
timeRange = DateUtils.formatDateRange(mParentActivity,
event.startMillis, event.startMillis, flags);
}
TextView timeView = null;

View File

@ -16,7 +16,7 @@
package com.android.calendar;
import android.pim.Time;
import android.text.format.Time;
public interface Navigator {
/**

View File

@ -199,8 +199,8 @@ public class SelectCalendarsActivity extends Activity implements ListView.OnItem
}
builder.setMultiChoiceItems(calendarNames, null, this)
.setPositiveButton(R.string.ok_label, this)
.setNegativeButton(R.string.cancel_label, this)
.setPositiveButton(android.R.string.ok, this)
.setNegativeButton(android.R.string.cancel, this)
.show();
return true;
}

View File

@ -19,7 +19,7 @@ package com.android.calendar;
import static android.provider.Calendar.EVENT_BEGIN_TIME;
import android.content.Context;
import android.content.Intent;
import android.pim.Time;
import android.text.format.Time;
import android.view.animation.AlphaAnimation;
import android.widget.ViewFlipper;

View File

@ -17,14 +17,15 @@
package com.android.calendar;
import android.content.res.Resources;
import android.pim.DateUtils;
import android.pim.Time;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.MediumTest;
import android.util.Log;
/**
* Unit tests for {@link android.pim.DateUtils#formatDateRange}.
* Unit tests for {@link android.text.format.DateUtils#formatDateRange}.
*/
public class FormatDateRangeTest extends AndroidTestCase {
@ -158,6 +159,7 @@ public class FormatDateRangeTest extends AndroidTestCase {
mResources = mContext.getResources();
}
@MediumTest
public void testAll() throws Exception {
int len = tests.length;
for (int index = 0; index < len; index++) {
@ -165,7 +167,7 @@ public class FormatDateRangeTest extends AndroidTestCase {
long startMillis = dateRange.date1.toMillis(false /* use isDst */);
long endMillis = dateRange.date2.toMillis(false /* use isDst */);
int flags = dateRange.flags;
String output = DateUtils.formatDateRange(startMillis, endMillis, flags);
String output = DateUtils.formatDateRange(mContext, startMillis, endMillis, flags);
if (!dateRange.expectedOutput.equals(output)) {
Log.i("FormatDateRangeTest", "index " + index
+ " expected: " + dateRange.expectedOutput

View File

@ -17,14 +17,15 @@
package com.android.calendar;
import android.content.res.Resources;
import android.pim.DateUtils;
import android.pim.Time;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
import android.util.Log;
/**
* Unit tests for {@link android.pim.Time#getWeekNumber}.
* Unit tests for {@link android.text.format.Time#getWeekNumber}.
*/
public class WeekNumberTest extends AndroidTestCase {
@ -199,6 +200,7 @@ public class WeekNumberTest extends AndroidTestCase {
super.setUp();
}
@SmallTest
public void testAll() throws Exception {
int len = tests.length;
for (int index = 0; index < len; index++) {
@ -207,7 +209,7 @@ public class WeekNumberTest extends AndroidTestCase {
if (weekNumber != test.expectedWeekNumber) {
long millis = test.date.toMillis(false /* use isDst */);
int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_NUMERIC_DATE;
String output = DateUtils.formatDateRange(millis, millis, flags);
String output = DateUtils.formatDateTime(mContext, millis, flags);
Log.i("WeekNumberTest", "index " + index
+ " date: " + output
+ " expected: " + test.expectedWeekNumber
@ -219,7 +221,7 @@ public class WeekNumberTest extends AndroidTestCase {
if (weekNumber != test.expectedWeekNumber) {
long millis = test.date.toMillis(false /* use isDst */);
int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_NUMERIC_DATE;
String output = DateUtils.formatDateRange(millis, millis, flags);
String output = DateUtils.formatDateTime(mContext, millis, flags);
Log.i("WeekNumberTest", "(all-day) index " + index
+ " date: " + output
+ " expected: " + test.expectedWeekNumber