Skip to content
This repository was archived by the owner on Jun 27, 2020. It is now read-only.

Commit 01e5fb2

Browse files
author
Evgenii Kanivets
committed
#150. Implement delete backup listener.
1 parent 3e76c15 commit 01e5fb2

File tree

5 files changed

+187
-151
lines changed

5 files changed

+187
-151
lines changed

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/external/BackupActivity.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@
2424
import butterknife.BindView;
2525
import butterknife.OnClick;
2626
import butterknife.OnItemClick;
27+
import org.jetbrains.annotations.NotNull;
2728
import timber.log.Timber;
2829

29-
public class BackupActivity extends BaseBackActivity {
30+
public class BackupActivity extends BaseBackActivity implements BackupAdapter.OnBackupListener {
3031
private static final String APP_KEY = "5lqugcckdy9y6lj";
3132

3233
@Inject PreferenceController preferenceController;
@@ -77,6 +78,19 @@ public class BackupActivity extends BaseBackActivity {
7778
}
7879
}
7980

81+
@Override public void onBackupDelete(@NotNull final String backupName) {
82+
AlertDialog.Builder builder = new AlertDialog.Builder(BackupActivity.this);
83+
builder.setTitle(getString(R.string.delete_backup_title));
84+
builder.setMessage(getString(R.string.delete_backup_message, backupName));
85+
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
86+
@Override public void onClick(DialogInterface dialog, int which) {
87+
deleteBackup(backupName);
88+
}
89+
});
90+
builder.setNegativeButton(android.R.string.cancel, null);
91+
builder.show();
92+
}
93+
8094
@OnClick(R.id.btn_backup_now) public void backupNow() {
8195
AnswersProxy.get().logButton("Make Backup");
8296
startProgress(getString(R.string.making_backup));
@@ -163,11 +177,18 @@ private void fetchBackups() {
163177
if (isFinishing()) return;
164178

165179
stopProgress();
166-
listView.setAdapter(new BackupAdapter(BackupActivity.this, backupList));
180+
181+
BackupAdapter backupAdapter = new BackupAdapter(BackupActivity.this, backupList);
182+
backupAdapter.setOnBackupListener(BackupActivity.this);
183+
listView.setAdapter(backupAdapter);
167184
}
168185
});
169186
}
170187

188+
private void deleteBackup(String backupName) {
189+
190+
}
191+
171192
private void logout() {
172193
preferenceController.writeDropboxAccessToken(null);
173194
Auth.startOAuth2Authentication(BackupActivity.this, APP_KEY);

app/src/main/java/com/blogspot/e_kanivets/moneytracker/adapter/BackupAdapter.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@ import android.view.View
66
import android.view.ViewGroup
77
import android.widget.BaseAdapter
88
import com.blogspot.e_kanivets.moneytracker.R
9+
import kotlinx.android.synthetic.main.view_backup_item.view.ivDelete
910
import kotlinx.android.synthetic.main.view_backup_item.view.tvTitle
1011

1112
class BackupAdapter(private val context: Context, private val backups: List<String>) : BaseAdapter() {
1213

14+
var onBackupListener: OnBackupListener? = null
15+
1316
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
1417
var view = convertView
1518
val viewHolder: ViewHolder?
@@ -25,7 +28,10 @@ class BackupAdapter(private val context: Context, private val backups: List<Stri
2528
viewHolder = view.tag as ViewHolder
2629
}
2730

28-
viewHolder.view.tvTitle.text = getItem(position)
31+
val backupItem = getItem(position)
32+
33+
viewHolder.view.tvTitle.text = backupItem
34+
viewHolder.view.ivDelete.setOnClickListener { onBackupListener?.onBackupDelete(backupItem) }
2935

3036
return view!!
3137
}
@@ -38,4 +44,8 @@ class BackupAdapter(private val context: Context, private val backups: List<Stri
3844

3945
private data class ViewHolder(val view: View)
4046

47+
interface OnBackupListener {
48+
fun onBackupDelete(backupName: String)
49+
}
50+
4151
}

app/src/main/res/layout/view_backup_item.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@
1717
/>
1818

1919
<ImageView
20+
android:id="@+id/ivDelete"
2021
android:layout_width="24dp"
2122
android:layout_height="24dp"
23+
android:contentDescription="@string/delete"
2224
android:src="@drawable/ic_delete"
23-
android:tint="@color/text_grey"
25+
android:tint="@color/dark_grey"
2426
/>
2527

2628
</LinearLayout>

app/src/main/res/values/colors.xml

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,29 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
3-
<color name="white">#ffffff</color>
4-
<color name="grey_inactive">#E0E0E0</color>
3+
<color name="white">#ffffff</color>
4+
<color name="grey_inactive">#E0E0E0</color>
55

6-
<color name="white_green">#f1f8e9</color>
7-
<color name="green_light">#8bc34a</color>
8-
<color name="green">#689f38</color>
9-
<color name="green_dark">#33691e</color>
6+
<color name="white_green">#f1f8e9</color>
7+
<color name="green_light">#8bc34a</color>
8+
<color name="green">#689f38</color>
9+
<color name="green_dark">#33691e</color>
1010

11-
<color name="white_red">#ffebee</color>
12-
<color name="red_light">#f44336</color>
13-
<color name="red">#d32f2f</color>
14-
<color name="red_dark">#b71c1c</color>
11+
<color name="white_red">#ffebee</color>
12+
<color name="red_light">#f44336</color>
13+
<color name="red">#d32f2f</color>
14+
<color name="red_dark">#b71c1c</color>
1515

16-
<color name="light_grey">#f6f6f6</color>
16+
<color name="light_grey">#f6f6f6</color>
17+
<color name="dark_grey">#8A000000</color>
1718

18-
<color name="yellow_light">#ffbd21</color>
19-
<color name="yellow_dark">#ff8a00</color>
19+
<color name="yellow_light">#ffbd21</color>
20+
<color name="yellow_dark">#ff8a00</color>
2021

21-
<color name="text_white">#ffffffff</color>
22-
<color name="text_black">#de000000</color>
23-
<color name="text_grey">#8A000000</color>
22+
<color name="text_white">#ffffffff</color>
23+
<color name="text_black">#de000000</color>
24+
<color name="text_grey">#8A000000</color>
2425

25-
<color name="background_white">#ffffff</color>
26+
<color name="background_white">#ffffff</color>
2627

27-
<color name="divider_grey">#20000000</color>
28+
<color name="divider_grey">#20000000</color>
2829
</resources>

0 commit comments

Comments
 (0)