mirror of
https://github.com/etesync/android
synced 2025-01-23 14:10:54 +00:00
Merge contacts/calendars collection handling
This also removes the "stats" from the edit collection screen.
This commit is contained in:
parent
3530821ddd
commit
838cc2a79d
@ -183,10 +183,8 @@
|
||||
</activity>
|
||||
<activity android:name=".ui.JournalViewerActivity"/>
|
||||
<activity android:name=".ui.AccountSettingsActivity"/>
|
||||
<activity android:name=".ui.CreateAddressBookActivity"
|
||||
android:label="@string/create_addressbook"/>
|
||||
<activity android:name=".ui.CreateCalendarActivity"
|
||||
android:label="@string/create_calendar"/>
|
||||
<activity android:name=".ui.CreateCollectionActivity"/>
|
||||
<activity android:name=".ui.EditCollectionActivity"/>
|
||||
|
||||
<activity
|
||||
android:name=".ui.DebugInfoActivity"
|
||||
|
@ -61,7 +61,6 @@ import com.etesync.syncadapter.model.ServiceDB.Services;
|
||||
import com.etesync.syncadapter.resource.LocalCalendar;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
|
||||
@ -164,45 +163,24 @@ public class AccountActivity extends AppCompatActivity implements Toolbar.OnMenu
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
Intent intent;
|
||||
switch (item.getItemId()) {
|
||||
case R.id.create_calendar:
|
||||
intent = new Intent(this, CreateCalendarActivity.class);
|
||||
intent.putExtra(CreateCalendarActivity.EXTRA_ACCOUNT, account);
|
||||
startActivity(intent);
|
||||
CollectionInfo info = new CollectionInfo();
|
||||
info.type = CollectionInfo.Type.CALENDAR;
|
||||
startActivity(CreateCollectionActivity.newIntent(AccountActivity.this, account, info));
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private AdapterView.OnItemClickListener onContactItemClickListener = new AdapterView.OnItemClickListener() {
|
||||
private AdapterView.OnItemClickListener onItemClickListener = new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
final ListView list = (ListView)parent;
|
||||
final ArrayAdapter<CollectionInfo> adapter = (ArrayAdapter)list.getAdapter();
|
||||
final CollectionInfo info = adapter.getItem(position);
|
||||
|
||||
Intent intent = new Intent(AccountActivity.this, CreateAddressBookActivity.class);
|
||||
intent.putExtra(CreateAddressBookActivity.EXTRA_ACCOUNT, account);
|
||||
intent.putExtra(CreateAddressBookActivity.EXTRA_COLLECTION_INFO, info);
|
||||
startActivity(intent);
|
||||
}
|
||||
};
|
||||
|
||||
private AdapterView.OnItemClickListener onCalendarItemClickListener = new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
final ListView list = (ListView)parent;
|
||||
final ArrayAdapter<CollectionInfo> adapter = (ArrayAdapter)list.getAdapter();
|
||||
final CollectionInfo info = adapter.getItem(position);
|
||||
|
||||
Intent intent = new Intent(AccountActivity.this, CreateCalendarActivity.class);
|
||||
intent.putExtra(CreateCalendarActivity.EXTRA_ACCOUNT, account);
|
||||
intent.putExtra(CreateCalendarActivity.EXTRA_COLLECTION_INFO, info);
|
||||
if (adapter.getCount() > 1) {
|
||||
intent.putExtra(CreateCalendarActivity.EXTRA_ALLOW_DELETE, true);
|
||||
}
|
||||
startActivity(intent);
|
||||
startActivity(EditCollectionActivity.newIntent(AccountActivity.this, account, info, (adapter.getCount() > 1)));
|
||||
}
|
||||
};
|
||||
|
||||
@ -250,7 +228,7 @@ public class AccountActivity extends AppCompatActivity implements Toolbar.OnMenu
|
||||
AddressBookAdapter adapter = new AddressBookAdapter(this);
|
||||
adapter.addAll(info.carddav.collections);
|
||||
listCardDAV.setAdapter(adapter);
|
||||
listCardDAV.setOnItemClickListener(onContactItemClickListener);
|
||||
listCardDAV.setOnItemClickListener(onItemClickListener);
|
||||
} else
|
||||
card.setVisibility(View.GONE);
|
||||
|
||||
@ -266,7 +244,7 @@ public class AccountActivity extends AppCompatActivity implements Toolbar.OnMenu
|
||||
final CalendarAdapter adapter = new CalendarAdapter(this);
|
||||
adapter.addAll(info.caldav.collections);
|
||||
listCalDAV.setAdapter(adapter);
|
||||
listCalDAV.setOnItemClickListener(onCalendarItemClickListener);
|
||||
listCalDAV.setOnItemClickListener(onItemClickListener);
|
||||
} else
|
||||
card.setVisibility(View.GONE);
|
||||
}
|
||||
|
@ -1,174 +0,0 @@
|
||||
/*
|
||||
* Copyright © 2013 – 2016 Ricki Hirner (bitfire web engineering).
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the GNU Public License v3.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*/
|
||||
|
||||
package com.etesync.syncadapter.ui;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.provider.CalendarContract;
|
||||
import android.support.v4.app.NavUtils;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.text.TextUtils;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.etesync.syncadapter.App;
|
||||
import com.etesync.syncadapter.R;
|
||||
import com.etesync.syncadapter.model.CollectionInfo;
|
||||
import com.etesync.syncadapter.model.EntryEntity;
|
||||
import com.etesync.syncadapter.model.JournalEntity;
|
||||
import com.etesync.syncadapter.resource.LocalCalendar;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import at.bitfire.ical4android.CalendarStorageException;
|
||||
import io.requery.Persistable;
|
||||
import io.requery.sql.EntityDataStore;
|
||||
import yuku.ambilwarna.AmbilWarnaDialog;
|
||||
|
||||
public class CreateCalendarActivity extends AppCompatActivity {
|
||||
public static final String EXTRA_ACCOUNT = "account",
|
||||
EXTRA_COLLECTION_INFO = "collectionInfo",
|
||||
EXTRA_ALLOW_DELETE = "allowDelete";
|
||||
|
||||
protected Account account;
|
||||
protected CollectionInfo info;
|
||||
protected Boolean allowDelete;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
account = getIntent().getExtras().getParcelable(EXTRA_ACCOUNT);
|
||||
info = (CollectionInfo) getIntent().getExtras().getSerializable(EXTRA_COLLECTION_INFO);
|
||||
allowDelete = (Boolean) getIntent().getExtras().get(EXTRA_ALLOW_DELETE);
|
||||
allowDelete = (allowDelete == null) ? false : allowDelete;
|
||||
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
setContentView(R.layout.activity_create_calendar);
|
||||
final View colorSquare = findViewById(R.id.color);
|
||||
colorSquare.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
new AmbilWarnaDialog(CreateCalendarActivity.this, ((ColorDrawable) colorSquare.getBackground()).getColor(), true, new AmbilWarnaDialog.OnAmbilWarnaListener() {
|
||||
@Override
|
||||
public void onCancel(AmbilWarnaDialog dialog) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOk(AmbilWarnaDialog dialog, int color) {
|
||||
colorSquare.setBackgroundColor(color);
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
});
|
||||
|
||||
if (info != null) {
|
||||
final EditText edit = (EditText) findViewById(R.id.display_name);
|
||||
edit.setText(info.displayName);
|
||||
|
||||
final EditText desc = (EditText) findViewById(R.id.description);
|
||||
desc.setText(info.description);
|
||||
|
||||
if (info.color != null) {
|
||||
colorSquare.setBackgroundColor(info.color);
|
||||
} else {
|
||||
colorSquare.setBackgroundColor(LocalCalendar.defaultColor);
|
||||
}
|
||||
|
||||
final TextView stats = (TextView) findViewById(R.id.stats);
|
||||
final View statsGroup = findViewById(R.id.stats_group);
|
||||
try {
|
||||
LocalCalendar resource = (LocalCalendar) LocalCalendar.find(account, this.getContentResolver().acquireContentProviderClient(CalendarContract.CONTENT_URI),
|
||||
LocalCalendar.Factory.INSTANCE, CalendarContract.Calendars.NAME + "=?", new String[]{info.url})[0];
|
||||
long count = resource.count();
|
||||
EntityDataStore<Persistable> data = ((App) getApplication()).getData();
|
||||
int entryCount = -1;
|
||||
final JournalEntity journalEntity = data.select(JournalEntity.class).where(JournalEntity.UID.eq(info.url)).limit(1).get().firstOrNull();
|
||||
if (journalEntity != null) {
|
||||
entryCount = data.count(EntryEntity.class).where(EntryEntity.JOURNAL.eq(journalEntity)).get().value();
|
||||
}
|
||||
stats.setText(String.format(Locale.getDefault(), "Events: %d, Journal entries: %d", count, entryCount));
|
||||
statsGroup.setVisibility(View.VISIBLE);
|
||||
} catch (CalendarStorageException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
if (info == null) {
|
||||
getMenuInflater().inflate(R.menu.activity_create_collection, menu);
|
||||
} else {
|
||||
getMenuInflater().inflate(R.menu.activity_edit_collection, menu);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
Intent intent = new Intent(this, AccountActivity.class);
|
||||
intent.putExtra(AccountActivity.EXTRA_ACCOUNT, account);
|
||||
NavUtils.navigateUpTo(this, intent);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void onDeleteCollection(MenuItem item) {
|
||||
if (!allowDelete) {
|
||||
new AlertDialog.Builder(this)
|
||||
.setIcon(R.drawable.ic_error_dark)
|
||||
.setTitle(R.string.account_delete_collection_last_title)
|
||||
.setMessage(R.string.account_delete_collection_last_text)
|
||||
.setPositiveButton(android.R.string.ok, null)
|
||||
.show();
|
||||
} else {
|
||||
DeleteCollectionFragment.ConfirmDeleteCollectionFragment.newInstance(account, info).show(getSupportFragmentManager(), null);
|
||||
}
|
||||
}
|
||||
|
||||
public void onCreateCollection(MenuItem item) {
|
||||
boolean ok = true;
|
||||
if (info == null) {
|
||||
info = new CollectionInfo();
|
||||
}
|
||||
|
||||
EditText edit = (EditText) findViewById(R.id.display_name);
|
||||
info.displayName = edit.getText().toString();
|
||||
if (TextUtils.isEmpty(info.displayName)) {
|
||||
edit.setError(getString(R.string.create_collection_display_name_required));
|
||||
ok = false;
|
||||
}
|
||||
|
||||
edit = (EditText) findViewById(R.id.description);
|
||||
info.description = StringUtils.trimToNull(edit.getText().toString());
|
||||
|
||||
View view = findViewById(R.id.color);
|
||||
info.color = ((ColorDrawable) view.getBackground()).getColor();
|
||||
|
||||
if (ok) {
|
||||
info.type = CollectionInfo.Type.CALENDAR;
|
||||
info.supportsVEVENT = true;
|
||||
info.selected = true;
|
||||
|
||||
CreateCollectionFragment.newInstance(account, info).show(getSupportFragmentManager(), null);
|
||||
}
|
||||
}
|
||||
}
|
@ -9,9 +9,10 @@
|
||||
package com.etesync.syncadapter.ui;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.provider.ContactsContract;
|
||||
import android.support.v4.app.NavUtils;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.text.TextUtils;
|
||||
@ -19,65 +20,63 @@ import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.etesync.syncadapter.App;
|
||||
import com.etesync.syncadapter.R;
|
||||
import com.etesync.syncadapter.model.CollectionInfo;
|
||||
import com.etesync.syncadapter.model.EntryEntity;
|
||||
import com.etesync.syncadapter.model.JournalEntity;
|
||||
import com.etesync.syncadapter.resource.LocalAddressBook;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.w3c.dom.Text;
|
||||
|
||||
import java.util.Locale;
|
||||
import yuku.ambilwarna.AmbilWarnaDialog;
|
||||
|
||||
import at.bitfire.vcard4android.ContactsStorageException;
|
||||
import io.requery.Persistable;
|
||||
import io.requery.sql.EntityDataStore;
|
||||
|
||||
public class CreateAddressBookActivity extends AppCompatActivity {
|
||||
public static final String EXTRA_ACCOUNT = "account",
|
||||
EXTRA_COLLECTION_INFO = "collectionInfo";
|
||||
public class CreateCollectionActivity extends AppCompatActivity {
|
||||
static final String EXTRA_ACCOUNT = "account",
|
||||
EXTRA_COLLECTION_INFO = "collectionInfo";
|
||||
|
||||
protected Account account;
|
||||
protected CollectionInfo info;
|
||||
|
||||
public static Intent newIntent(Context context, Account account, CollectionInfo info) {
|
||||
Intent intent = new Intent(context, CreateCollectionActivity.class);
|
||||
intent.putExtra(CreateCollectionActivity.EXTRA_ACCOUNT, account);
|
||||
intent.putExtra(CreateCollectionActivity.EXTRA_COLLECTION_INFO, info);
|
||||
return intent;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
account = getIntent().getParcelableExtra(EXTRA_ACCOUNT);
|
||||
account = getIntent().getExtras().getParcelable(EXTRA_ACCOUNT);
|
||||
info = (CollectionInfo) getIntent().getExtras().getSerializable(EXTRA_COLLECTION_INFO);
|
||||
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
setContentView(R.layout.activity_create_address_book);
|
||||
|
||||
if (info != null) {
|
||||
final EditText edit = (EditText) findViewById(R.id.display_name);
|
||||
edit.setText(info.displayName);
|
||||
setContentView(R.layout.activity_create_collection);
|
||||
|
||||
final EditText desc = (EditText) findViewById(R.id.description);
|
||||
desc.setText(info.description);
|
||||
if (info.type == CollectionInfo.Type.CALENDAR) {
|
||||
setTitle(R.string.create_calendar);
|
||||
|
||||
final TextView stats = (TextView) findViewById(R.id.stats);
|
||||
final View statsGroup = findViewById(R.id.stats_group);
|
||||
try {
|
||||
LocalAddressBook resource = new LocalAddressBook(account, this.getContentResolver().acquireContentProviderClient(ContactsContract.Contacts.CONTENT_URI));
|
||||
long count = resource.count();
|
||||
EntityDataStore<Persistable> data = ((App) getApplication()).getData();
|
||||
int entryCount = -1;
|
||||
final JournalEntity journalEntity = data.select(JournalEntity.class).where(JournalEntity.UID.eq(info.url)).limit(1).get().firstOrNull();
|
||||
if (journalEntity != null) {
|
||||
entryCount = data.count(EntryEntity.class).where(EntryEntity.JOURNAL.eq(journalEntity)).get().value();
|
||||
};
|
||||
stats.setText(String.format(Locale.getDefault(), "Contacts: %d, Journal Entries: %d", count, entryCount));
|
||||
statsGroup.setVisibility(View.VISIBLE);
|
||||
} catch (ContactsStorageException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
final View colorSquare = findViewById(R.id.color);
|
||||
colorSquare.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
new AmbilWarnaDialog(CreateCollectionActivity.this, ((ColorDrawable) colorSquare.getBackground()).getColor(), true, new AmbilWarnaDialog.OnAmbilWarnaListener() {
|
||||
@Override
|
||||
public void onCancel(AmbilWarnaDialog dialog) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOk(AmbilWarnaDialog dialog, int color) {
|
||||
colorSquare.setBackgroundColor(color);
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
setTitle(R.string.create_addressbook);
|
||||
|
||||
final View colorGroup = findViewById(R.id.color_group);
|
||||
colorGroup.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -104,18 +103,25 @@ public class CreateAddressBookActivity extends AppCompatActivity {
|
||||
info = new CollectionInfo();
|
||||
}
|
||||
|
||||
EditText edit = (EditText)findViewById(R.id.display_name);
|
||||
EditText edit = (EditText) findViewById(R.id.display_name);
|
||||
info.displayName = edit.getText().toString();
|
||||
if (TextUtils.isEmpty(info.displayName)) {
|
||||
edit.setError(getString(R.string.create_collection_display_name_required));
|
||||
ok = false;
|
||||
}
|
||||
|
||||
edit = (EditText)findViewById(R.id.description);
|
||||
edit = (EditText) findViewById(R.id.description);
|
||||
info.description = StringUtils.trimToNull(edit.getText().toString());
|
||||
|
||||
if (ok) {
|
||||
info.type = CollectionInfo.Type.ADDRESS_BOOK;
|
||||
if (info.type == CollectionInfo.Type.CALENDAR) {
|
||||
View view = findViewById(R.id.color);
|
||||
info.color = ((ColorDrawable) view.getBackground()).getColor();
|
||||
|
||||
info.supportsVEVENT = true;
|
||||
}
|
||||
|
||||
info.selected = true;
|
||||
|
||||
CreateCollectionFragment.newInstance(account, info).show(getSupportFragmentManager(), null);
|
||||
}
|
@ -84,7 +84,7 @@ public class DeleteCollectionFragment extends DialogFragment implements LoaderMa
|
||||
Activity activity = getActivity();
|
||||
if (activity instanceof AccountActivity)
|
||||
((AccountActivity) activity).reload();
|
||||
else if (activity instanceof CreateCalendarActivity)
|
||||
else if (activity instanceof CreateCollectionActivity)
|
||||
activity.finish();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,84 @@
|
||||
/*
|
||||
* Copyright © 2013 – 2016 Ricki Hirner (bitfire web engineering).
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the GNU Public License v3.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*/
|
||||
|
||||
package com.etesync.syncadapter.ui;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
|
||||
import com.etesync.syncadapter.R;
|
||||
import com.etesync.syncadapter.model.CollectionInfo;
|
||||
import com.etesync.syncadapter.resource.LocalCalendar;
|
||||
|
||||
public class EditCollectionActivity extends CreateCollectionActivity {
|
||||
private final static String EXTRA_ALLOW_DELETE = "allowDelete";
|
||||
|
||||
protected boolean allowDelete;
|
||||
|
||||
public static Intent newIntent(Context context, Account account, CollectionInfo info, boolean allowDelete) {
|
||||
Intent intent = new Intent(context, EditCollectionActivity.class);
|
||||
intent.putExtra(CreateCollectionActivity.EXTRA_ACCOUNT, account);
|
||||
intent.putExtra(CreateCollectionActivity.EXTRA_COLLECTION_INFO, info);
|
||||
intent.putExtra(EXTRA_ALLOW_DELETE, allowDelete);
|
||||
return intent;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
allowDelete = getIntent().getExtras().getBoolean(EXTRA_ALLOW_DELETE, false);
|
||||
|
||||
setTitle(R.string.edit_collection);
|
||||
|
||||
if (info.type == CollectionInfo.Type.CALENDAR) {
|
||||
final View colorSquare = findViewById(R.id.color);
|
||||
if (info.color != null) {
|
||||
colorSquare.setBackgroundColor(info.color);
|
||||
} else {
|
||||
colorSquare.setBackgroundColor(LocalCalendar.defaultColor);
|
||||
}
|
||||
}
|
||||
|
||||
final EditText edit = (EditText) findViewById(R.id.display_name);
|
||||
edit.setText(info.displayName);
|
||||
|
||||
final EditText desc = (EditText) findViewById(R.id.description);
|
||||
desc.setText(info.description);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
if (info.type == CollectionInfo.Type.ADDRESS_BOOK) {
|
||||
getMenuInflater().inflate(R.menu.activity_create_collection, menu);
|
||||
} else {
|
||||
getMenuInflater().inflate(R.menu.activity_edit_collection, menu);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void onDeleteCollection(MenuItem item) {
|
||||
if (!allowDelete) {
|
||||
new AlertDialog.Builder(this)
|
||||
.setIcon(R.drawable.ic_error_dark)
|
||||
.setTitle(R.string.account_delete_collection_last_title)
|
||||
.setMessage(R.string.account_delete_collection_last_text)
|
||||
.setPositiveButton(android.R.string.ok, null)
|
||||
.show();
|
||||
} else {
|
||||
DeleteCollectionFragment.ConfirmDeleteCollectionFragment.newInstance(account, info).show(getSupportFragmentManager(), null);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright © 2013 – 2016 Ricki Hirner (bitfire web engineering).
|
||||
~ All rights reserved. This program and the accompanying materials
|
||||
~ are made available under the terms of the GNU Public License v3.0
|
||||
~ which accompanies this distribution, and is available at
|
||||
~ http://www.gnu.org/licenses/gpl.html
|
||||
-->
|
||||
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
|
||||
<LinearLayout android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/activity_margin">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/create_collection_display_name"/>
|
||||
<EditText
|
||||
android:id="@+id/display_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:hint="@string/create_addressbook_display_name_hint"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/create_collection_description"/>
|
||||
<EditText
|
||||
android:id="@+id/description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:inputType="textAutoCorrect"/>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/stats_group"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:text="@string/collection_stats_title"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/stats"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="6dp" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
@ -39,6 +39,7 @@
|
||||
android:inputType="textAutoCorrect"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/color_group"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
@ -59,27 +60,5 @@
|
||||
android:text="@string/create_collection_color"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/stats_group"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:text="@string/collection_stats_title"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/stats"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="6dp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
@ -181,6 +181,7 @@
|
||||
<string name="create_addressbook_display_name_hint">My Address Book</string>
|
||||
<string name="create_calendar">Create calendar</string>
|
||||
<string name="create_calendar_display_name_hint">My Calendar</string>
|
||||
<string name="edit_collection">Edit collection</string>
|
||||
<string name="create_collection_color">Set the calendar\'s color</string>
|
||||
<string name="create_collection_creating">Creating collection</string>
|
||||
<string name="create_collection_display_name">Display name (title) of this collection:</string>
|
||||
|
Loading…
Reference in New Issue
Block a user