1
0
mirror of https://github.com/etesync/android synced 2024-11-25 17:38:13 +00:00

Version bump to 0.8.0-beta3

* don't offer to install Tasks from InstallAppsFragment, show instructions instead
* fix crash when displaying "todo lists" heading in "selection collections" fragment (fixes #512, fixes #513)
* use Android SDK build tools v22.0.1
This commit is contained in:
Ricki Hirner 2015-05-26 23:43:05 +02:00
parent af011a65db
commit f3e83922f7
10 changed files with 40 additions and 51 deletions

View File

@ -9,7 +9,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="at.bitfire.davdroid" package="at.bitfire.davdroid"
android:versionCode="64" android:versionName="0.8.0-beta1" android:versionCode="66" android:versionName="0.8.0-beta3"
android:installLocation="internalOnly"> android:installLocation="internalOnly">
<uses-sdk <uses-sdk

View File

@ -11,7 +11,7 @@ import net.fortuna.ical4j.model.property.ProdId;
public class Constants { public class Constants {
public static final String public static final String
APP_VERSION = "0.8.0-beta1", APP_VERSION = "0.8.0-beta3",
ACCOUNT_TYPE = "bitfire.at.davdroid", ACCOUNT_TYPE = "bitfire.at.davdroid",
WEB_URL_HELP = "https://davdroid.bitfire.at/configuration?pk_campaign=davdroid-app", WEB_URL_HELP = "https://davdroid.bitfire.at/configuration?pk_campaign=davdroid-app",
WEB_URL_VIEW_LOGS = "https://github.com/bitfireAT/davdroid/wiki/How-to-view-the-logs"; WEB_URL_VIEW_LOGS = "https://github.com/bitfireAT/davdroid/wiki/How-to-view-the-logs";

View File

@ -516,10 +516,6 @@ public class LocalCalendar extends LocalCollection<Event> {
protected Builder buildEntry(Builder builder, Resource resource, boolean update) { protected Builder buildEntry(Builder builder, Resource resource, boolean update) {
final Event event = (Event)resource; final Event event = (Event)resource;
if (!update)
builder .withValue(Events.ACCOUNT_TYPE, account.type)
.withValue(Events.ACCOUNT_NAME, account.name);
builder .withValue(Events.CALENDAR_ID, id) builder .withValue(Events.CALENDAR_ID, id)
.withValue(Events.ALL_DAY, event.isAllDay() ? 1 : 0) .withValue(Events.ALL_DAY, event.isAllDay() ? 1 : 0)
.withValue(Events.DTSTART, event.getDtStartInMillis()) .withValue(Events.DTSTART, event.getDtStartInMillis())

View File

@ -19,6 +19,8 @@ import android.graphics.drawable.Drawable;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
@ -28,19 +30,23 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView; import android.widget.TextView;
import at.bitfire.davdroid.Constants;
import at.bitfire.davdroid.R; import at.bitfire.davdroid.R;
import at.bitfire.davdroid.resource.LocalTaskList; import at.bitfire.davdroid.resource.LocalTaskList;
public class InstallAppsFragment extends Fragment implements Runnable { public class InstallAppsFragment extends Fragment {
private static final String TAG = "davdroid.setup"; private static final String TAG = "davdroid.setup";
final protected Handler timerHandler = new Handler(); // https://code.google.com/p/android/issues/detail?id=25906
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.setup_install_apps, container, false); View v = inflater.inflate(R.layout.setup_install_apps, container, false);
setHasOptionsMenu(true); setHasOptionsMenu(true);
TextView tvInfo = (TextView)v.findViewById(R.id.setup_install_tasks_app);
tvInfo.setText(Html.fromHtml(getString(R.string.setup_install_tasks_app_html)));
tvInfo.setMovementMethod(LinkMovementMethod.getInstance());
return v; return v;
} }
@ -49,23 +55,11 @@ public class InstallAppsFragment extends Fragment implements Runnable {
inflater.inflate(R.menu.only_skip, menu); inflater.inflate(R.menu.only_skip, menu);
} }
@Override
public void onResume() {
super.onResume();
timerHandler.postDelayed(this, 1000);
}
@Override
public void onPause() {
super.onPause();
timerHandler.removeCallbacks(this);
}
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) { switch (item.getItemId()) {
case R.id.skip: case R.id.skip:
skip(true); skip();
break; break;
default: default:
return false; return false;
@ -73,20 +67,9 @@ public class InstallAppsFragment extends Fragment implements Runnable {
return true; return true;
} }
@Override protected void skip() {
public void run() {
if (LocalTaskList.isAvailable(getActivity()))
skip(false);
else
timerHandler.postDelayed(this, 1000);
}
protected void skip(boolean addToBackStack) {
FragmentManager fm = getFragmentManager(); FragmentManager fm = getFragmentManager();
if (!addToBackStack)
fm.popBackStack();
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.replace(R.id.right_pane, new SelectCollectionsFragment()) .replace(R.id.right_pane, new SelectCollectionsFragment())
.addToBackStack(null) .addToBackStack(null)

View File

@ -56,11 +56,11 @@ public class SelectCollectionsAdapter extends BaseAdapter implements ListAdapter
this.context = context; this.context = context;
this.serverInfo = serverInfo; this.serverInfo = serverInfo;
nAddressBooks = serverInfo.getAddressBooks() == null ? 0 : serverInfo.getAddressBooks().size(); nAddressBooks = serverInfo.getAddressBooks().size();
nAddressBookHeadings = nAddressBooks == 0 ? 0 : 1; nAddressBookHeadings = nAddressBooks == 0 ? 0 : 1;
nCalendars = serverInfo.getCalendars() == null ? 0 : serverInfo.getCalendars().size(); nCalendars = serverInfo.getCalendars().size();
nCalendarHeadings = nCalendars == 0 ? 0 : 1; nCalendarHeadings = nCalendars == 0 ? 0 : 1;
nTaskLists = serverInfo.getTodoLists() == null ? 0 : serverInfo.getTodoLists().size(); nTaskLists = serverInfo.getTodoLists().size();
nTaskListHeadings = nTaskLists == 0 ? 0 : 1; nTaskListHeadings = nTaskLists == 0 ? 0 : 1;
} }
@ -83,7 +83,7 @@ public class SelectCollectionsAdapter extends BaseAdapter implements ListAdapter
return serverInfo.getCalendars().get(position - (nAddressBookHeadings + nAddressBooks + nCalendarHeadings)); return serverInfo.getCalendars().get(position - (nAddressBookHeadings + nAddressBooks + nCalendarHeadings));
else if (position >= (nAddressBookHeadings + nAddressBooks + nCalendarHeadings + nCalendars + nTaskListHeadings) && else if (position >= (nAddressBookHeadings + nAddressBooks + nCalendarHeadings + nCalendars + nTaskListHeadings) &&
(position < (nAddressBookHeadings + nAddressBooks + nCalendarHeadings + nCalendars + + nTaskListHeadings + nTaskLists))) (position < (nAddressBookHeadings + nAddressBooks + nCalendarHeadings + nCalendars + nTaskListHeadings + nTaskLists)))
return serverInfo.getTodoLists().get(position - (nAddressBookHeadings + nAddressBooks + nCalendarHeadings + nCalendars + nTaskListHeadings)); return serverInfo.getTodoLists().get(position - (nAddressBookHeadings + nAddressBooks + nCalendarHeadings + nCalendars + nTaskListHeadings));
return null; return null;

View File

@ -30,16 +30,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="10dp" android:layout_marginBottom="10dp"
android:text="@string/setup_install_tasks_app_info" android:id="@+id/setup_install_tasks_app"
android:text="@string/setup_install_tasks_app_html"
android:textAppearance="?android:attr/textAppearanceMedium" /> android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/setup_install_tasks_app"
android:onClick="installTasksApp"
android:layout_gravity="center_horizontal"/>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>

View File

@ -149,8 +149,16 @@
<string name="setup_add_account">Konto hinzufügen</string> <string name="setup_add_account">Konto hinzufügen</string>
<string name="setup_querying_server">Daten werden vom Server abgefragt. Bitte warten…</string> <string name="setup_querying_server">Daten werden vom Server abgefragt. Bitte warten…</string>
<string name="setup_install_apps_info">Android bietet im Gegensatz zu Kontakten und Terminen keine integrierte Lösung für Aufgaben.</string> <string name="setup_install_apps_info">Android bietet im Gegensatz zu Kontakten und Terminen keine integrierte Lösung für Aufgaben.</string>
<string name="setup_install_tasks_app_info">DAVdroid kann mit der "Aufgaben"-App von Marten Gajda synchronisieren. Sie können diese App installieren, um Aufgaben zu synchronisieren, oder auf Aufgaben verzichten und die Installation überspringen.</string> <string name="setup_install_tasks_app_html"><![CDATA[
<string name="setup_install_tasks_app">Aufgaben-App installieren</string> <p>DAVdroid kann Aufgaben mit der <a href="market://details?id=org.dmfs.tasks">Aufgaben-App</a> von Marten Gajda synchronisieren.</p>
<p>Wegen eines <a href="https://code.google.com/p/android/issues/detail?id=25906">Android-Fehlers</a> <b>muss die Aufgaben-App
vor DAVdroid installiert werden</b> (ansonsten bekommt DAVdroid nicht die Berechtigungen, um auf die Aufgaben zuzugreifen).</p>
<p>Wenn Sie Aufgaben synchronisiert haben wollen:</p>
<p>1. Installieren Sie bitte zuerst die Aufgaben-App.<br/>
2. Installieren Sie DAVdroid neu (um die Zugriffsberechtigung zu erlangen).<br/>
3. Richten Sie Ihr DAVdroid-Konto neu ein.</p>
<p>Andernfalls können Sie diesen Schritt überspringen.</p>
]]></string>
<string name="setup_what_to_sync">Welche Ordner sollen synchronisiert werden?</string> <string name="setup_what_to_sync">Welche Ordner sollen synchronisiert werden?</string>
<string name="setup_address_books">Adressbücher</string> <string name="setup_address_books">Adressbücher</string>
<string name="setup_calendars">Kalender</string> <string name="setup_calendars">Kalender</string>

View File

@ -163,8 +163,16 @@
<string name="setup_add_account">Add account</string> <string name="setup_add_account">Add account</string>
<string name="setup_querying_server">Querying server. Please wait…</string> <string name="setup_querying_server">Querying server. Please wait…</string>
<string name="setup_install_apps_info">Plain Android doesn\'t support to-do lists (in contrast to contacts and calendars).</string> <string name="setup_install_apps_info">Plain Android doesn\'t support to-do lists (in contrast to contacts and calendars).</string>
<string name="setup_install_tasks_app_info">DAVdroid is able to synchronize tasks with the "Tasks" app (by Marten Gajda). You may install this app if you want tasks to be synchronized or skip the installation.</string> <string name="setup_install_tasks_app_html"><![CDATA[
<string name="setup_install_tasks_app">Install Tasks app</string> <p>DAVdroid is able to synchronize tasks with the <a href="market://details?id=org.dmfs.tasks">Tasks app</a> (by Marten Gajda).</p>
<p>Because of an <a href="https://code.google.com/p/android/issues/detail?id=25906">Android bug</a>, the <b>Tasks app must be installed
before installing DAVdroid</b> (otherwise, DAVdroid can\'t get the permission to access the tasks provider).</p>
<p>If you want tasks to be synchronized:</p>
<p>1. Install the Tasks app.<br/>
2. Re-install DAVdroid (to gain tasks access permission).<br/>
3. Add your DAVdroid account again.</p>
<p>Otherwise, you may skip this step.</p>
]]></string>
<string name="setup_what_to_sync">Which collections shall be synchronized?</string> <string name="setup_what_to_sync">Which collections shall be synchronized?</string>
<string name="setup_address_books">Address books</string> <string name="setup_address_books">Address books</string>
<string name="setup_calendars">Calendars</string> <string name="setup_calendars">Calendars</string>

View File

@ -53,7 +53,7 @@ android {
// SDK versions and compileOptions adapted to DAVdroid needs // SDK versions and compileOptions adapted to DAVdroid needs
compileSdkVersion 22 compileSdkVersion 22
buildToolsVersion '21.1.2' buildToolsVersion '22.0.1'
defaultConfig { defaultConfig {
minSdkVersion 8 minSdkVersion 8