Use trash action for delete

pull/281/head
Alex Baker 11 years ago
parent 4712c781bc
commit a86ba9d4e4

@ -14,18 +14,14 @@ import android.support.v7.app.AlertDialog;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.LinearLayout;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.dao.MetadataDao;
import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.helper.UUIDHelper;
import com.todoroo.astrid.tags.TagFilterExposer;
@ -40,7 +36,6 @@ import javax.inject.Inject;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
import static android.text.TextUtils.isEmpty;
@ -59,7 +54,6 @@ public class TagSettingsActivity extends InjectingAppCompatActivity {
@InjectView(R.id.tag_name) EditText tagName;
@InjectView(R.id.toolbar) Toolbar toolbar;
@InjectView(R.id.delete_container) LinearLayout deleteContainer;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -68,22 +62,22 @@ public class TagSettingsActivity extends InjectingAppCompatActivity {
setContentView(R.layout.tag_settings_activity);
ButterKnife.inject(this);
setSupportActionBar(toolbar);
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar != null) {
supportActionBar.setDisplayHomeAsUpEnabled(true);
supportActionBar.setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
}
tagData = getIntent().getParcelableExtra(TagViewFragment.EXTRA_TAG_DATA);
if (tagData == null) {
isNewTag = true;
tagData = new TagData();
tagData.setUUID(UUIDHelper.newUUID());
deleteContainer.setVisibility(View.GONE);
}
refreshSettingsPage();
setSupportActionBar(toolbar);
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar != null) {
supportActionBar.setDisplayHomeAsUpEnabled(true);
supportActionBar.setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
supportActionBar.setTitle(isNewTag ? getString(R.string.new_tag) : tagData.getName());
}
tagName.setText(tagData.getName());
String autopopulateName = getIntent().getStringExtra(TOKEN_AUTOPOPULATE_NAME);
if (!isEmpty(autopopulateName)) {
@ -135,16 +129,12 @@ public class TagSettingsActivity extends InjectingAppCompatActivity {
AndroidUtilities.callOverridePendingTransition(this, R.anim.slide_right_in, R.anim.slide_right_out);
}
private void refreshSettingsPage() {
tagName.setText(tagData.getName());
getSupportActionBar().setTitle(isNewTag
? getString(R.string.new_tag)
: tagData.getName());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.tag_settings_activity, menu);
if (isNewTag) {
menu.findItem(R.id.delete).setVisible(false);
}
return super.onCreateOptionsMenu(menu);
}
@ -162,11 +152,14 @@ public class TagSettingsActivity extends InjectingAppCompatActivity {
case R.id.menu_save:
save();
break;
case R.id.delete:
deleteTag();
break;
}
return super.onOptionsItemSelected(item);
}
@OnClick(R.id.delete) void deleteTag() {
private void deleteTag() {
new AlertDialog.Builder(this, R.style.Tasks_Dialog)
.setMessage(getString(R.string.delete_tag_confirmation, tagData.getName()))
.setPositiveButton(R.string.delete, new DialogInterface.OnClickListener() {

@ -1,94 +0,0 @@
/**
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.api;
import android.os.Parcel;
import android.os.Parcelable;
/**
* Represents an add-onn for Astrid. Users can enable or disable add-ons,
* which affect all other extension points that share the same identifier.
*
* @author Tim Su <tim@todoroo.com>
*
*/
public class Addon implements Parcelable {
/**
* Add-on Identifier
*/
public String addon = null;
/**
* Plug-in Title
*/
public String title = null;
/**
* Plug-in Author
*/
public String author = null;
/**
* Plug-in Description
*/
public String description = null;
/**
* Convenience constructor to generate a plug-in object
*/
public Addon(String addon, String title, String author, String description) {
this.addon = addon;
this.title = title;
this.author = author;
this.description = description;
}
// --- parcelable helpers
/**
* {@inheritDoc}
*/
@Override
public int describeContents() {
return 0;
}
/**
* {@inheritDoc}
*/
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(addon);
dest.writeString(title);
dest.writeString(author);
dest.writeString(description);
}
/**
* Parcelable creator
*/
public static final Parcelable.Creator<Addon> CREATOR = new Parcelable.Creator<Addon>() {
/**
* {@inheritDoc}
*/
@Override
public Addon createFromParcel(Parcel source) {
return new Addon(source.readString(), source.readString(),
source.readString(), source.readString());
}
/**
* {@inheritDoc}
*/
@Override
public Addon[] newArray(int size) {
return new Addon[size];
}
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

@ -47,27 +47,6 @@
android:textSize="15sp" />
</RelativeLayout>
</ScrollView>
<LinearLayout
android:id="@+id/delete_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="vertical">
<include layout="@layout/separator"/>
<Button
android:id="@+id/delete"
android:textColor="?attr/asTextColor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/delete"
android:background="?attr/selectableItemBackground"/>
<include layout="@layout/toolbar_separator"/>
</LinearLayout>
</FrameLayout>
</LinearLayout>

@ -1,11 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tasks="http://schemas.android.com/apk/res-auto">
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_save"
android:title="@string/save"
android:icon="?attr/ic_action_save"
tasks:showAsAction="ifRoom"/>
app:showAsAction="always"/>
<item
android:id="@+id/delete"
android:title="@string/delete"
android:icon="?attr/ic_action_delete"
app:showAsAction="ifRoom" />
</menu>

@ -61,6 +61,7 @@
<attr name="ic_action_cloud" format="reference"/>
<attr name="ic_action_new_tag" format="reference"/>
<attr name="ic_action_discard" format="reference" />
<attr name="ic_action_delete" format="reference" />
<declare-styleable name="DateAndTimePicker">
<attr name="shortcutLabels" format="reference" />

@ -71,6 +71,7 @@
<item name="ic_action_cloud">@drawable/ic_cloud_queue_black_24dp</item>
<item name="ic_action_new_tag">@drawable/ic_add_black_24dp</item>
<item name="ic_action_discard">@drawable/ic_close_white_24dp</item>
<item name="ic_action_delete">@drawable/ic_delete_white_24dp</item>
</style>
<style name="Tasks.Dark">

Loading…
Cancel
Save