Skip to content

Commit bfb7cae

Browse files
authored
Merge pull request #292 from misaochan/copy-title-desc
Add button to copy previous title and desc
2 parents def0954 + 8d421df commit bfb7cae

File tree

4 files changed

+77
-34
lines changed

4 files changed

+77
-34
lines changed

app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java

+2
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
import android.content.ContentProviderClient;
55
import android.content.Context;
66
import android.content.DialogInterface;
7+
import android.content.SharedPreferences;
78
import android.database.Cursor;
89
import android.os.AsyncTask;
910
import android.os.Bundle;
1011
import android.os.Parcel;
1112
import android.os.Parcelable;
1213
import android.os.RemoteException;
14+
import android.preference.PreferenceManager;
1315
import android.support.v4.app.Fragment;
1416
import android.support.v7.app.AlertDialog;
1517
import android.text.Editable;

app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java

+33-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import android.support.v4.app.Fragment;
1111
import android.text.Editable;
1212
import android.text.TextWatcher;
13+
import android.util.Log;
1314
import android.view.LayoutInflater;
1415
import android.view.Menu;
1516
import android.view.MenuInflater;
@@ -18,6 +19,7 @@
1819
import android.view.View;
1920
import android.view.ViewGroup;
2021
import android.view.inputmethod.InputMethodManager;
22+
import android.widget.Button;
2123
import android.widget.EditText;
2224
import android.widget.TextView;
2325

@@ -37,6 +39,8 @@ public interface OnUploadActionInitiated {
3739

3840
private OnUploadActionInitiated uploadActionInitiatedHandler;
3941

42+
private static final String TAG = "SingleUploadFragment";
43+
4044
@Override
4145
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
4246
inflater.inflate(R.menu.activity_share, menu);
@@ -49,7 +53,18 @@ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
4953
public boolean onOptionsItemSelected(MenuItem item) {
5054
switch (item.getItemId()) {
5155
case R.id.menu_upload_single:
52-
uploadActionInitiatedHandler.uploadActionInitiated(titleEdit.getText().toString(), descEdit.getText().toString());
56+
57+
String title = titleEdit.getText().toString();
58+
String desc = descEdit.getText().toString();
59+
60+
//Save the values of these fields in short-lived cache so next time this fragment is loaded, we can access these
61+
SharedPreferences titleDesc = PreferenceManager.getDefaultSharedPreferences(getActivity());
62+
SharedPreferences.Editor editor = titleDesc.edit();
63+
editor.putString("Title", title);
64+
editor.putString("Desc", desc);
65+
editor.apply();
66+
67+
uploadActionInitiatedHandler.uploadActionInitiated(title, desc);
5368
return true;
5469

5570
}
@@ -62,6 +77,23 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
6277

6378
titleEdit = (EditText)rootView.findViewById(R.id.titleEdit);
6479
descEdit = (EditText)rootView.findViewById(R.id.descEdit);
80+
Button titleDescButton = (Button) rootView.findViewById(R.id.titleDescButton);
81+
82+
titleDescButton.setOnClickListener(new View.OnClickListener()
83+
{
84+
public void onClick(View v)
85+
{
86+
//Retrieve last title and desc entered
87+
SharedPreferences titleDesc = PreferenceManager.getDefaultSharedPreferences(getActivity());
88+
String title = titleDesc.getString("Title", "");
89+
String desc = titleDesc.getString("Desc", "");
90+
Log.d(TAG, "Title: " + title + ", Desc: " + desc);
91+
92+
titleEdit.setText(title);
93+
descEdit.setText(desc);
94+
}
95+
});
96+
6597
licenseSummaryView = (TextView)rootView.findViewById(R.id.share_license_summary);
6698

6799
TextWatcher uploadEnabler = new TextWatcher() {
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,50 @@
11
<?xml version="1.0" encoding="utf-8"?>
22

33
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
4-
android:layout_width="match_parent"
5-
android:layout_height="match_parent"
6-
android:layout_gravity="fill"
7-
android:orientation="vertical"
8-
android:background="#AA000000"
9-
android:paddingBottom="8dip"
10-
android:paddingLeft="16dip"
11-
android:paddingStart="16dip"
12-
android:paddingRight="16dip"
13-
android:paddingEnd="16dip"
14-
android:paddingTop="8dip"
15-
>
4+
android:layout_width="match_parent"
5+
android:layout_height="match_parent"
6+
android:layout_gravity="fill"
7+
android:orientation="vertical"
8+
android:background="#AA000000"
9+
android:paddingBottom="8dip"
10+
android:paddingLeft="16dip"
11+
android:paddingStart="16dip"
12+
android:paddingRight="16dip"
13+
android:paddingEnd="16dip"
14+
android:paddingTop="8dip"
15+
>
1616

1717
<EditText
18-
android:id="@+id/titleEdit"
19-
android:layout_width="fill_parent"
20-
android:layout_height="wrap_content"
21-
android:scrollHorizontally="false"
22-
android:singleLine="true"
23-
android:hint="@string/share_title_hint"
24-
android:imeOptions="flagNoExtractUi"
25-
/>
18+
android:id="@+id/titleEdit"
19+
android:layout_width="fill_parent"
20+
android:layout_height="wrap_content"
21+
android:scrollHorizontally="false"
22+
android:singleLine="true"
23+
android:hint="@string/share_title_hint"
24+
android:imeOptions="flagNoExtractUi"
25+
/>
2626

2727
<EditText
28-
android:id="@+id/descEdit"
29-
android:layout_width="fill_parent"
30-
android:layout_height="wrap_content"
31-
android:inputType="textMultiLine"
32-
android:hint="@string/share_description_hint"
33-
android:imeOptions="flagNoExtractUi"
34-
/>
28+
android:id="@+id/descEdit"
29+
android:layout_width="fill_parent"
30+
android:layout_height="wrap_content"
31+
android:inputType="textMultiLine"
32+
android:hint="@string/share_description_hint"
33+
android:imeOptions="flagNoExtractUi"
34+
/>
35+
36+
<Button
37+
android:text="@string/use_previous"
38+
android:background="@android:color/transparent"
39+
android:layout_width="match_parent"
40+
android:layout_height="wrap_content"
41+
android:id="@+id/titleDescButton" />
42+
3543
<TextView
36-
android:layout_width="wrap_content"
37-
android:layout_height="wrap_content"
38-
android:text="@string/share_license_summary"
39-
android:id="@+id/share_license_summary"
40-
android:layout_gravity="center"
41-
android:layout_marginTop="16dp"/>
44+
android:layout_width="wrap_content"
45+
android:layout_height="wrap_content"
46+
android:text="@string/share_license_summary"
47+
android:id="@+id/share_license_summary"
48+
android:gravity="center"
49+
android:layout_marginTop="16dp"/>
4250
</LinearLayout>

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

+1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898

9999
<string name="menu_download">Download</string>
100100
<string name="preference_license">License</string>
101+
<string name="use_previous">Use previous title/desc</string>
101102

102103
<string name="allow_gps">Automatically get current location</string>
103104
<string name="allow_gps_summary">Retrieve current location to offer category suggestions if image is not geotagged</string>

0 commit comments

Comments
 (0)