From d88fb3b0de8670913882a22bb4a9d0fc0c2d1411 Mon Sep 17 00:00:00 2001 From: Neslihan Date: Sun, 23 Jul 2017 15:39:08 +0300 Subject: [PATCH 01/18] Prepare alert window and strings --- .../contributions/ContributionsActivity.java | 43 +++++++++++++++++++ app/src/main/res/values/strings.xml | 8 +++- 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index f1a4adfe2..74cff702b 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -3,11 +3,13 @@ package fr.free.nrw.commons.contributions; import android.content.ComponentName; import android.content.ContentResolver; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.content.ServiceConnection; import android.content.SharedPreferences; import android.database.Cursor; import android.database.DataSetObserver; +import android.net.Uri; import android.os.Bundle; import android.os.IBinder; import android.preference.PreferenceManager; @@ -17,6 +19,7 @@ import android.support.v4.app.LoaderManager; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.support.v4.widget.CursorAdapter; +import android.support.v7.app.AlertDialog; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -110,6 +113,46 @@ public class ContributionsActivity super.onPause(); } + @Override + protected void onStart() { + super.onStart(); + if (true) { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(getResources().getString(R.string.feedback_popup_title)); + builder.setMessage(getResources().getString(R.string.feedback_popup_description)); + builder.setPositiveButton(getResources().getString(R.string.feedback_popup_accept) + , new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + // Go to the page + Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(getResources() + .getString(R.string.feedback_page_url))); + startActivity(browserIntent); + dialog.dismiss(); + } + }); + builder.setNeutralButton(getResources().getString(R.string.feedback_popup_remind) + ,new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + // Dismiss the dialog to show it later + dialog.dismiss(); + } + }); + builder.setNegativeButton(getResources().getString(R.string.feedback_popup_decline) + , new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + // Dismiss the dialog and not to show it later + dialog.dismiss(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } else { + + } + } + @Override protected void onAuthCookieAcquired(String authCookie) { // Do a sync everytime we get here! diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f981902b3..f88df2ca4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -202,6 +202,12 @@ Tap this message (or hit back) to skip this step. no description found Commons file page Wikidata item - Error while caching pictures + Error while caching pictures + We need your feedbacks + We are planning several new features and improvements for the app! Have your say. + Decline + Remind me later + Join to discussion + https://meta.wikimedia.org/wiki/Grants:Project/Improve_\'Upload_to_Commons\'_Android_App/Renewal/User_feedback From 19784f0e82871fb8a7b136a0271f41db0132e012 Mon Sep 17 00:00:00 2001 From: Neslihan Date: Sun, 23 Jul 2017 18:10:42 +0300 Subject: [PATCH 02/18] Add shared preferences --- .../free/nrw/commons/CommonsApplication.java | 3 + .../contributions/ContributionsActivity.java | 103 ++++++++++++------ 2 files changed, 71 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java index b78bfdc6f..3de167b82 100644 --- a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java +++ b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java @@ -11,6 +11,7 @@ import android.content.pm.PackageManager; import android.database.sqlite.SQLiteDatabase; import android.preference.PreferenceManager; import android.support.v4.util.LruCache; +import android.util.Log; import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.stetho.Stetho; @@ -139,6 +140,8 @@ public class CommonsApplication extends Application { System.setProperty("in.yuvi.http.fluent.PROGRESS_TRIGGER_THRESHOLD", "3.0"); Fresco.initialize(this); + PreferenceManager.getDefaultSharedPreferences(CommonsApplication.getInstance()).edit() + .putBoolean("is_app_started", true).commit(); //For caching area -> categories cacheData = new CacheController(); diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index 74cff702b..0793db8be 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -30,7 +30,10 @@ import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import butterknife.ButterKnife; import fr.free.nrw.commons.CommonsApplication; @@ -116,41 +119,7 @@ public class ContributionsActivity @Override protected void onStart() { super.onStart(); - if (true) { - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(getResources().getString(R.string.feedback_popup_title)); - builder.setMessage(getResources().getString(R.string.feedback_popup_description)); - builder.setPositiveButton(getResources().getString(R.string.feedback_popup_accept) - , new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - // Go to the page - Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(getResources() - .getString(R.string.feedback_page_url))); - startActivity(browserIntent); - dialog.dismiss(); - } - }); - builder.setNeutralButton(getResources().getString(R.string.feedback_popup_remind) - ,new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - // Dismiss the dialog to show it later - dialog.dismiss(); - } - }); - builder.setNegativeButton(getResources().getString(R.string.feedback_popup_decline) - , new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - // Dismiss the dialog and not to show it later - dialog.dismiss(); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } else { - - } + displayFeedbackPopup(); } @Override @@ -385,4 +354,68 @@ public class ContributionsActivity Intent contributionsIntent = new Intent(context, ContributionsActivity.class); context.startActivity(contributionsIntent); } + + private void displayFeedbackPopup(){ + + Date strDate = null; + try { + String valid_until = "23/08/2017"; + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + strDate = sdf.parse(valid_until); + } catch (ParseException e) { + e.printStackTrace(); + } + + final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences + (CommonsApplication.getInstance()); + + // boolean to save users request about displaying popup + boolean displayFeedbackPopup = prefs.getBoolean("display_feedbak_popup", true); + + // boolean to recognize is application re-started. Will be used for "remind me later" option + boolean isApplicationStarted = prefs.getBoolean("is_app_started" , true); + + // if time is valid and shared pref says display + if (new Date().before(strDate) && displayFeedbackPopup && isApplicationStarted) { + // The window will be displayed once per application start + prefs.edit().putBoolean("is_app_started" , false).commit(); + + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(getResources().getString(R.string.feedback_popup_title)); + builder.setMessage(getResources().getString(R.string.feedback_popup_description)); + builder.setPositiveButton(getResources().getString(R.string.feedback_popup_accept) + , new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + // Go to the page + Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri + .parse(getResources() + .getString(R.string.feedback_page_url))); + startActivity(browserIntent); + // No need to dislay this window to the user again. + prefs.edit().putBoolean("display_feedbak_popup" , false).commit(); + dialog.dismiss(); + } + }); + builder.setNeutralButton(getResources().getString(R.string.feedback_popup_remind) + ,new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + // Dismiss the dialog to show it later, + // don't set "display_feedbak_popup" to false, user wants to see it latr + dialog.dismiss(); + } + }); + builder.setNegativeButton(getResources().getString(R.string.feedback_popup_decline) + , new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + // Dismiss the dialog and not to show it later + prefs.edit().putBoolean("display_feedbak_popup", false).commit(); + dialog.dismiss(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } } From 457148269508d79087c7d18d12293e2d6ac6bac7 Mon Sep 17 00:00:00 2001 From: Neslihan Date: Sun, 23 Jul 2017 18:44:38 +0300 Subject: [PATCH 03/18] Fix codacy issues --- .../contributions/ContributionsActivity.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index 0793db8be..2848055e8 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -355,19 +355,19 @@ public class ContributionsActivity context.startActivity(contributionsIntent); } - private void displayFeedbackPopup(){ + private void displayFeedbackPopup() { Date strDate = null; try { - String valid_until = "23/08/2017"; + String validUntil = "23/08/2017"; SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); - strDate = sdf.parse(valid_until); + strDate = sdf.parse(validUntil); } catch (ParseException e) { e.printStackTrace(); } - final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences - (CommonsApplication.getInstance()); + final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences( + CommonsApplication.getInstance()); // boolean to save users request about displaying popup boolean displayFeedbackPopup = prefs.getBoolean("display_feedbak_popup", true); @@ -383,8 +383,8 @@ public class ContributionsActivity AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(getResources().getString(R.string.feedback_popup_title)); builder.setMessage(getResources().getString(R.string.feedback_popup_description)); - builder.setPositiveButton(getResources().getString(R.string.feedback_popup_accept) - , new DialogInterface.OnClickListener() { + builder.setPositiveButton(getResources().getString(R.string.feedback_popup_accept), + new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Go to the page Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri From 452dcaec7296f1d4e8f16c016727be7273d9c181 Mon Sep 17 00:00:00 2001 From: Neslihan Date: Wed, 26 Jul 2017 14:06:49 +0300 Subject: [PATCH 04/18] Display pop up once, on 4th app start --- .../fr/free/nrw/commons/CommonsApplication.java | 6 ++++-- .../contributions/ContributionsActivity.java | 15 ++------------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java index 3de167b82..42dd55ac5 100644 --- a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java +++ b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java @@ -140,8 +140,10 @@ public class CommonsApplication extends Application { System.setProperty("in.yuvi.http.fluent.PROGRESS_TRIGGER_THRESHOLD", "3.0"); Fresco.initialize(this); - PreferenceManager.getDefaultSharedPreferences(CommonsApplication.getInstance()).edit() - .putBoolean("is_app_started", true).commit(); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences( + CommonsApplication.getInstance()); + // Increase counter by one, starts from 1 + prefs.edit().putInt("app_start_counter", prefs.getInt("app_start_counter" ,0) + 1).commit(); //For caching area -> categories cacheData = new CacheController(); diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index 2848055e8..688c6fce1 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -373,12 +373,10 @@ public class ContributionsActivity boolean displayFeedbackPopup = prefs.getBoolean("display_feedbak_popup", true); // boolean to recognize is application re-started. Will be used for "remind me later" option - boolean isApplicationStarted = prefs.getBoolean("is_app_started" , true); + int appStartCounter = prefs.getInt("app_start_counter" ,0); // if time is valid and shared pref says display - if (new Date().before(strDate) && displayFeedbackPopup && isApplicationStarted) { - // The window will be displayed once per application start - prefs.edit().putBoolean("is_app_started" , false).commit(); + if (new Date().before(strDate) && displayFeedbackPopup && (appStartCounter == 4)) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(getResources().getString(R.string.feedback_popup_title)); @@ -396,15 +394,6 @@ public class ContributionsActivity dialog.dismiss(); } }); - builder.setNeutralButton(getResources().getString(R.string.feedback_popup_remind) - ,new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - // Dismiss the dialog to show it later, - // don't set "display_feedbak_popup" to false, user wants to see it latr - dialog.dismiss(); - } - }); builder.setNegativeButton(getResources().getString(R.string.feedback_popup_decline) , new DialogInterface.OnClickListener() { @Override From 1c9989d6585fa14f55f5c92c7d8658307867a67e Mon Sep 17 00:00:00 2001 From: Neslihan Date: Wed, 26 Jul 2017 14:13:25 +0300 Subject: [PATCH 05/18] Update strings --- app/src/main/res/values/strings.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f88df2ca4..1b45c70e8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -203,11 +203,10 @@ Tap this message (or hit back) to skip this step. Commons file page Wikidata item Error while caching pictures - We need your feedbacks - We are planning several new features and improvements for the app! Have your say. - Decline - Remind me later - Join to discussion + Feedback wanted + We are planning several new features and improvements for the app! Would you like to review them and provide feedback? (You can always access this by selecting "Developer plans" in the navigation drawer) + No thanks + Sure, take me there! https://meta.wikimedia.org/wiki/Grants:Project/Improve_\'Upload_to_Commons\'_Android_App/Renewal/User_feedback From 07102c04e9b5eba5a5c8b0b8f7517944c6945859 Mon Sep 17 00:00:00 2001 From: Neslihan Date: Wed, 26 Jul 2017 14:29:56 +0300 Subject: [PATCH 06/18] Add developer plans to nav drawer --- .../free/nrw/commons/theme/NavigationBaseActivity.java | 9 +++++++++ app/src/main/res/drawable/ic_help_outline_black_24dp.xml | 9 +++++++++ app/src/main/res/menu/drawer.xml | 5 +++++ app/src/main/res/values/strings.xml | 1 + 4 files changed, 24 insertions(+) create mode 100644 app/src/main/res/drawable/ic_help_outline_black_24dp.xml diff --git a/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java b/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java index a9c27e5e3..24dd2f2b6 100644 --- a/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java @@ -3,6 +3,7 @@ package fr.free.nrw.commons.theme; import android.content.ActivityNotFoundException; import android.content.DialogInterface; import android.content.Intent; +import android.net.Uri; import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; import android.support.v4.widget.DrawerLayout; @@ -114,6 +115,14 @@ public class NavigationBaseActivity extends BaseActivity Toast.makeText(this, R.string.no_email_client, Toast.LENGTH_SHORT).show(); } return true; + case R.id.action_developer_plans: + drawerLayout.closeDrawer(navigationView); + // Go to the page + Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri + .parse(getResources() + .getString(R.string.feedback_page_url))); + startActivity(browserIntent); + return true; case R.id.action_logout: new AlertDialog.Builder(this) .setMessage(R.string.logout_verification) diff --git a/app/src/main/res/drawable/ic_help_outline_black_24dp.xml b/app/src/main/res/drawable/ic_help_outline_black_24dp.xml new file mode 100644 index 000000000..e7cf8ea21 --- /dev/null +++ b/app/src/main/res/drawable/ic_help_outline_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/menu/drawer.xml b/app/src/main/res/menu/drawer.xml index f0a0a5e29..cb6b63ffc 100644 --- a/app/src/main/res/menu/drawer.xml +++ b/app/src/main/res/menu/drawer.xml @@ -30,6 +30,11 @@ android:icon="@drawable/ic_feedback_black_24dp" android:title="@string/navigation_item_feedback"/> + + Feedback Logout Tutorial + Developer plans Nearby places cannot be displayed without location permissions no description found From fc8a3c1c9eace05cb99866756656bebfbc36ecfd Mon Sep 17 00:00:00 2001 From: Neslihan Date: Wed, 26 Jul 2017 14:56:10 +0300 Subject: [PATCH 07/18] Ups, fix the link:) --- app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 41e73aeee..4f6d8e61d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -208,6 +208,6 @@ Tap this message (or hit back) to skip this step. We are planning several new features and improvements for the app! Would you like to review them and provide feedback? (You can always access this by selecting "Developer plans" in the navigation drawer) No thanks Sure, take me there! - https://meta.wikimedia.org/wiki/Grants:Project/Improve_\'Upload_to_Commons\'_Android_App/Renewal/User_feedback + https://meta.wikimedia.org/wiki/Grants:Project/Improve_\'Upload_to_Commons\'_Android_App/Renewal#Endorsements From d72b239e20b4fbe67f1aedf8dd67cbaceb2ce3a5 Mon Sep 17 00:00:00 2001 From: Neslihan Date: Wed, 26 Jul 2017 14:57:51 +0300 Subject: [PATCH 08/18] Fix codacy --- .../free/nrw/commons/contributions/ContributionsActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index 688c6fce1..783c3b6c3 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -394,8 +394,8 @@ public class ContributionsActivity dialog.dismiss(); } }); - builder.setNegativeButton(getResources().getString(R.string.feedback_popup_decline) - , new DialogInterface.OnClickListener() { + builder.setNegativeButton(getResources().getString(R.string.feedback_popup_decline), + new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Dismiss the dialog and not to show it later From 006d8d192661f511b98cbb2f15b84d6c8d68b982 Mon Sep 17 00:00:00 2001 From: Mikel Date: Wed, 26 Jul 2017 16:07:47 +0100 Subject: [PATCH 09/18] Remove dead translations --- app/src/main/res/values-ar/strings.xml | 3 +-- app/src/main/res/values-he/strings.xml | 3 +-- app/src/main/res/values-ms/strings.xml | 4 +--- app/src/main/res/values-qq/strings.xml | 4 +--- app/src/main/res/values-vi/strings.xml | 3 --- 5 files changed, 4 insertions(+), 13 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 7eb1c1916..83a72957d 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -20,8 +20,7 @@ اكتمال رفع %1$s فشل رفع %1$s انقر لتشاهد - متبقى %d - مرفوعاتي الأخيرة + مرفوعاتي الأخيرة في قائمة الانتظار فشل انتهاء %1$d%% diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index eaef5a9c5..feb3cf436 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -18,8 +18,7 @@ העלאת %1$s מסתיימת העלאת %1$s נכשלה נא ללחוץ כדי להציג - נשארו %d - ההעלאות שלי + ההעלאות שלי בתור נכשלה %1$d%% הושלמו diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml index ff342f3bf..fa5e00766 100644 --- a/app/src/main/res/values-ms/strings.xml +++ b/app/src/main/res/values-ms/strings.xml @@ -18,7 +18,6 @@ %1$s akan siap dimuat naik %1$s gagal dimuat naik Ketik untuk lihat - %d fail sedang dimuat naik Muat Naik Terbaru Saya Dibaris gilir Gagal @@ -48,8 +47,7 @@ %d muatnaik %d muatnaik - Memulakan %d kerja muat naik - + %d muatnaik %d muatnaik diff --git a/app/src/main/res/values-qq/strings.xml b/app/src/main/res/values-qq/strings.xml index eb0684112..4d891fe3f 100644 --- a/app/src/main/res/values-qq/strings.xml +++ b/app/src/main/res/values-qq/strings.xml @@ -49,8 +49,7 @@ This message is followed by a list of the categories.\n{{Identical|Search category}} Hint text on menu item to save selected categories.\n{{Identical|Save}} {{Identical|Refresh}} - {{Identical|Upload}} - Message shown to the user when no category matching what they searched for was found. %1$s represents the category name + Message shown to the user when no category matching what they searched for was found. %1$s represents the category name Text explaining to users why and how to add categories to images. Users can also tap this message to skip adding categories. Title for the activity where Categories are being selected to add to the Image.\n{{Identical|Category}} Text for preference that enables the user to enable or disable collection of data about the user\'s usage patterns. @@ -59,7 +58,6 @@ {{Identical|Sign up}} {{Identical|About}} License and legal notice. %1$s is {{msg-wm|Commons-android-strings-trademarked name}} - {{Ignored}}\n\nUsed in {{msg-wm|Commons-android-strings-about license}}\n\n{{Identical|Wikimedia Commons}} {{doc-important|Please make sure that your translation of \"source\" means \"source code\", not \"reference source\".}}\nSource and Bugs HTML fragment linking to Wikimedia\'s privacy policy. Note: avoid percent-encoding in the URL, as this causes problems with Android\'s resource compiler. Use accented/non-ASCII characters \"as is\" if possible. (We can fix it manually, so don\'t worry too much about it.)\n{{Identical|Privacy policy}} {{Identical|Credit}} diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 714ef04a3..197f88c26 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -20,7 +20,6 @@ Đang hoàn thành việc tải lên tập tin %1$s Tải lên tập tin %1$s thất bại Chạm để xem - %d tập tin đang được tải lên Tập tin do tôi tải lên Đang chờ Thất bại @@ -51,8 +50,6 @@ Chưa tải lên tập tin %d tập tin tải lên - Đang bắt đầu tải lên %d tập tin - %d tập tin tải lên Không tìm thấy thể loại khớp với %1$s Xếp các hình ảnh vào thể loại để cho chúng dễ tìm kiếm hơn trên Wikimedia Commons.\n\nHãy bắt đầu nhập tên thể loại để tìm kiếm.\nChạm vào thông điệp này (hoặc bấm Quay lại) để bỏ qua bước này. Thể loại From bfc74a610b20739fe493ebf89c3efce61d4af38a Mon Sep 17 00:00:00 2001 From: Neslihan Date: Wed, 26 Jul 2017 18:20:57 +0300 Subject: [PATCH 10/18] Minor fixes --- app/src/main/res/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4f6d8e61d..524ef6a66 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -205,9 +205,9 @@ Tap this message (or hit back) to skip this step. Wikidata item Error while caching pictures Feedback wanted - We are planning several new features and improvements for the app! Would you like to review them and provide feedback? (You can always access this by selecting "Developer plans" in the navigation drawer) + We are planning several new features and improvements for the app! Would you like to review them and provide feedback? \n(You can always access this by selecting "Developer plans" in the navigation drawer) No thanks Sure, take me there! - https://meta.wikimedia.org/wiki/Grants:Project/Improve_\'Upload_to_Commons\'_Android_App/Renewal#Endorsements + https://meta.wikimedia.org/wiki/Grants:Project/Improve_\'Upload_to_Commons\'_Android_App/Renewal From 5e0e34cf10c6078125056184259737c009b36c12 Mon Sep 17 00:00:00 2001 From: Neslihan Date: Wed, 26 Jul 2017 18:24:09 +0300 Subject: [PATCH 11/18] Add one more line break --- app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 524ef6a66..30ea71515 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -205,7 +205,7 @@ Tap this message (or hit back) to skip this step. Wikidata item Error while caching pictures Feedback wanted - We are planning several new features and improvements for the app! Would you like to review them and provide feedback? \n(You can always access this by selecting "Developer plans" in the navigation drawer) + We are planning several new features and improvements for the app! Would you like to review them and provide feedback? \n\n(You can always access this by selecting "Developer plans" in the navigation drawer) No thanks Sure, take me there! https://meta.wikimedia.org/wiki/Grants:Project/Improve_\'Upload_to_Commons\'_Android_App/Renewal From 79a22c1aca637b6458378b76df8e1caaa377ea6f Mon Sep 17 00:00:00 2001 From: Mikel Date: Wed, 26 Jul 2017 16:24:24 +0100 Subject: [PATCH 12/18] Add missing annotations --- app/src/main/java/fr/free/nrw/commons/Media.java | 4 ++-- .../concurrency/ThreadPoolExecutorService.java | 2 +- .../contributions/ContributionsContentProvider.java | 13 +++++++------ .../contributions/ContributionsListFragment.java | 3 ++- .../modifications/ModificationsContentProvider.java | 13 +++++++------ .../nrw/commons/upload/MultipleShareActivity.java | 3 ++- .../fr/free/nrw/commons/upload/ShareActivity.java | 3 ++- 7 files changed, 23 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/Media.java b/app/src/main/java/fr/free/nrw/commons/Media.java index a1ae1cc84..1d07e9c16 100644 --- a/app/src/main/java/fr/free/nrw/commons/Media.java +++ b/app/src/main/java/fr/free/nrw/commons/Media.java @@ -142,7 +142,7 @@ public class Media implements Parcelable { return coordinates; } - public void setCoordinates(LatLng coordinates) { + public void setCoordinates(@Nullable LatLng coordinates) { this.coordinates = coordinates; } @@ -201,7 +201,7 @@ public class Media implements Parcelable { this.filename = filename; } - public Media(Uri localUri, String imageUrl, String filename, String description, long dataLength, Date dateCreated, Date dateUploaded, String creator) { + public Media(Uri localUri, String imageUrl, String filename, String description, long dataLength, Date dateCreated, @Nullable Date dateUploaded, String creator) { this(); this.localUri = localUri; this.imageUrl = imageUrl; diff --git a/app/src/main/java/fr/free/nrw/commons/concurrency/ThreadPoolExecutorService.java b/app/src/main/java/fr/free/nrw/commons/concurrency/ThreadPoolExecutorService.java index 1516d85d8..85f8cbfeb 100644 --- a/app/src/main/java/fr/free/nrw/commons/concurrency/ThreadPoolExecutorService.java +++ b/app/src/main/java/fr/free/nrw/commons/concurrency/ThreadPoolExecutorService.java @@ -39,7 +39,7 @@ public class ThreadPoolExecutorService implements Executor { } @Override - public void execute(Runnable command) { + public void execute(@NonNull Runnable command) { backgroundPool.execute(command); } diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContentProvider.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContentProvider.java index 9dc933358..6e84065f2 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContentProvider.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContentProvider.java @@ -7,6 +7,7 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteQueryBuilder; import android.net.Uri; +import android.support.annotation.NonNull; import android.text.TextUtils; import fr.free.nrw.commons.CommonsApplication; @@ -38,7 +39,7 @@ public class ContributionsContentProvider extends ContentProvider{ } @Override - public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { + public Cursor query(@NonNull Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); queryBuilder.setTables(Contribution.Table.TABLE_NAME); @@ -71,12 +72,12 @@ public class ContributionsContentProvider extends ContentProvider{ } @Override - public String getType(Uri uri) { + public String getType(@NonNull Uri uri) { return null; } @Override - public Uri insert(Uri uri, ContentValues contentValues) { + public Uri insert(@NonNull Uri uri, ContentValues contentValues) { int uriType = uriMatcher.match(uri); SQLiteDatabase sqlDB = CommonsApplication.getInstance().getDBOpenHelper().getWritableDatabase(); long id = 0; @@ -92,7 +93,7 @@ public class ContributionsContentProvider extends ContentProvider{ } @Override - public int delete(Uri uri, String s, String[] strings) { + public int delete(@NonNull Uri uri, String s, String[] strings) { int rows = 0; int uriType = uriMatcher.match(uri); @@ -114,7 +115,7 @@ public class ContributionsContentProvider extends ContentProvider{ } @Override - public int bulkInsert(Uri uri, ContentValues[] values) { + public int bulkInsert(@NonNull Uri uri, @NonNull ContentValues[] values) { Timber.d("Hello, bulk insert! (ContributionsContentProvider)"); int uriType = uriMatcher.match(uri); SQLiteDatabase sqlDB = CommonsApplication.getInstance().getDBOpenHelper().getWritableDatabase(); @@ -136,7 +137,7 @@ public class ContributionsContentProvider extends ContentProvider{ } @Override - public int update(Uri uri, ContentValues contentValues, String selection, String[] selectionArgs) { + public int update(@NonNull Uri uri, ContentValues contentValues, String selection, String[] selectionArgs) { /* SQL Injection warnings: First, note that we're not exposing this to the outside world (exported="false") Even then, we should make sure to sanitize all user input appropriately. Input that passes through ContentValues diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java index c009243b9..bcbb5a739 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java @@ -8,6 +8,7 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.v4.app.Fragment; import android.support.v4.content.ContextCompat; import android.support.v7.app.AlertDialog; @@ -162,7 +163,7 @@ public class ContributionsListFragment extends Fragment { } @Override - public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { Timber.d("onRequestPermissionsResult: req code = " + " perm = " + permissions + " grant =" + grantResults); diff --git a/app/src/main/java/fr/free/nrw/commons/modifications/ModificationsContentProvider.java b/app/src/main/java/fr/free/nrw/commons/modifications/ModificationsContentProvider.java index 9c9421864..11caa94fa 100644 --- a/app/src/main/java/fr/free/nrw/commons/modifications/ModificationsContentProvider.java +++ b/app/src/main/java/fr/free/nrw/commons/modifications/ModificationsContentProvider.java @@ -7,6 +7,7 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteQueryBuilder; import android.net.Uri; +import android.support.annotation.NonNull; import android.text.TextUtils; import fr.free.nrw.commons.CommonsApplication; @@ -39,7 +40,7 @@ public class ModificationsContentProvider extends ContentProvider{ } @Override - public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { + public Cursor query(@NonNull Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); queryBuilder.setTables(ModifierSequence.Table.TABLE_NAME); @@ -61,12 +62,12 @@ public class ModificationsContentProvider extends ContentProvider{ } @Override - public String getType(Uri uri) { + public String getType(@NonNull Uri uri) { return null; } @Override - public Uri insert(Uri uri, ContentValues contentValues) { + public Uri insert(@NonNull Uri uri, ContentValues contentValues) { int uriType = uriMatcher.match(uri); SQLiteDatabase sqlDB = CommonsApplication.getInstance().getDBOpenHelper().getWritableDatabase(); long id = 0; @@ -82,7 +83,7 @@ public class ModificationsContentProvider extends ContentProvider{ } @Override - public int delete(Uri uri, String s, String[] strings) { + public int delete(@NonNull Uri uri, String s, String[] strings) { int uriType = uriMatcher.match(uri); SQLiteDatabase sqlDB = CommonsApplication.getInstance().getDBOpenHelper().getWritableDatabase(); switch (uriType) { @@ -99,7 +100,7 @@ public class ModificationsContentProvider extends ContentProvider{ } @Override - public int bulkInsert(Uri uri, ContentValues[] values) { + public int bulkInsert(@NonNull Uri uri, @NonNull ContentValues[] values) { Timber.d("Hello, bulk insert! (ModificationsContentProvider)"); int uriType = uriMatcher.match(uri); SQLiteDatabase sqlDB = CommonsApplication.getInstance().getDBOpenHelper().getWritableDatabase(); @@ -121,7 +122,7 @@ public class ModificationsContentProvider extends ContentProvider{ } @Override - public int update(Uri uri, ContentValues contentValues, String selection, String[] selectionArgs) { + public int update(@NonNull Uri uri, ContentValues contentValues, String selection, String[] selectionArgs) { /* SQL Injection warnings: First, note that we're not exposing this to the outside world (exported="false") Even then, we should make sure to sanitize all user input appropriately. Input that passes through ContentValues diff --git a/app/src/main/java/fr/free/nrw/commons/upload/MultipleShareActivity.java b/app/src/main/java/fr/free/nrw/commons/upload/MultipleShareActivity.java index 6955caef2..1ab00c88f 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/MultipleShareActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/MultipleShareActivity.java @@ -11,6 +11,7 @@ import android.database.DataSetObserver; import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.v4.app.ActivityCompat; import android.support.v4.app.FragmentManager; import android.support.v4.content.ContextCompat; @@ -105,7 +106,7 @@ public class MultipleShareActivity } @Override - public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if (requestCode == 1 && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { multipleUploadBegins(); } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java index 19e2d6925..1ce86a86a 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java @@ -9,6 +9,7 @@ import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.os.ParcelFileDescriptor; +import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.RequiresApi; import android.support.design.widget.Snackbar; @@ -318,7 +319,7 @@ public class ShareActivity @Override public void onRequestPermissionsResult(int requestCode, - String[] permissions, int[] grantResults) { + @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode) { case REQUEST_PERM_ON_CREATE_STORAGE: { if (grantResults.length >= 1 From 1c3332f6b517d41ad947c7567ed7741a81c4bbd6 Mon Sep 17 00:00:00 2001 From: Neslihan Date: Wed, 26 Jul 2017 20:29:57 +0300 Subject: [PATCH 13/18] Change url to a new page --- app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 30ea71515..9b984d339 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -208,6 +208,6 @@ Tap this message (or hit back) to skip this step. We are planning several new features and improvements for the app! Would you like to review them and provide feedback? \n\n(You can always access this by selecting "Developer plans" in the navigation drawer) No thanks Sure, take me there! - https://meta.wikimedia.org/wiki/Grants:Project/Improve_\'Upload_to_Commons\'_Android_App/Renewal + https://meta.wikimedia.org/wiki/Grants:Project/Improve_\'Upload_to_Commons\'_Android_App/Renewal/User_feedback From 8b460b6f3a5e5e9e1939d04b7dafc50a236d7f02 Mon Sep 17 00:00:00 2001 From: Neslihan Date: Wed, 26 Jul 2017 22:20:46 +0300 Subject: [PATCH 14/18] Fix ugly codes --- .../contributions/ContributionsActivity.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index 783c3b6c3..4509818a4 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -357,11 +357,11 @@ public class ContributionsActivity private void displayFeedbackPopup() { - Date strDate = null; + Date popupMessageEndDate = null; try { String validUntil = "23/08/2017"; SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); - strDate = sdf.parse(validUntil); + popupMessageEndDate = sdf.parse(validUntil); } catch (ParseException e) { e.printStackTrace(); } @@ -376,12 +376,12 @@ public class ContributionsActivity int appStartCounter = prefs.getInt("app_start_counter" ,0); // if time is valid and shared pref says display - if (new Date().before(strDate) && displayFeedbackPopup && (appStartCounter == 4)) { + if (new Date().before(popupMessageEndDate) && displayFeedbackPopup && (appStartCounter == 4)) { - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle(getResources().getString(R.string.feedback_popup_title)); - builder.setMessage(getResources().getString(R.string.feedback_popup_description)); - builder.setPositiveButton(getResources().getString(R.string.feedback_popup_accept), + new AlertDialog.Builder(this) + .setTitle(getResources().getString(R.string.feedback_popup_title)) + .setMessage(getResources().getString(R.string.feedback_popup_description)) + .setPositiveButton(getResources().getString(R.string.feedback_popup_accept), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Go to the page @@ -393,8 +393,8 @@ public class ContributionsActivity prefs.edit().putBoolean("display_feedbak_popup" , false).commit(); dialog.dismiss(); } - }); - builder.setNegativeButton(getResources().getString(R.string.feedback_popup_decline), + }) + .setNegativeButton(getResources().getString(R.string.feedback_popup_decline), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { @@ -402,9 +402,8 @@ public class ContributionsActivity prefs.edit().putBoolean("display_feedbak_popup", false).commit(); dialog.dismiss(); } - }); - AlertDialog alert = builder.create(); - alert.show(); + }) + .create().show(); } } } From 99d74bc3fd069462a3b7ed64f01f7c8288319097 Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Thu, 27 Jul 2017 10:08:13 +0200 Subject: [PATCH 15/18] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-bn/strings.xml | 4 +++- app/src/main/res/values-ca/strings.xml | 6 +++--- app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-es/strings.xml | 6 +++--- app/src/main/res/values-eu/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values-iw/strings.xml | 1 + app/src/main/res/values-lv/strings.xml | 2 ++ app/src/main/res/values-mk/strings.xml | 1 + app/src/main/res/values-pms/strings.xml | 1 + app/src/main/res/values-pt-rBR/strings.xml | 8 ++++++-- app/src/main/res/values-ru/strings.xml | 6 ++++-- app/src/main/res/values-sv/strings.xml | 1 + app/src/main/res/values-tcy/strings.xml | 17 ++++++++++++++++- app/src/main/res/values-tr/strings.xml | 2 ++ app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values-zh/strings.xml | 1 + 17 files changed, 48 insertions(+), 12 deletions(-) diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index 37516ce67..4c59ee7ce 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -148,6 +148,8 @@ বিবরণ মিডিয়ার বিবরণ এখানে যাবে। এই মোটামুটি দীর্ঘ হতে পারে এবং একাধিক লাইনে লিখতে হতে পারে। আমরা আশা করি এটি দেখতে সুন্দর হবে। আপলোডের তারিখ + লাইসেন্স + স্থানাঙ্কসমূহ বিটা টেস্টার হোন উইকিউপাত্ত ব্যবহার করুন (সতর্কতা: এটি নিষ্ক্রিয় করা অধিক পরিমাণে মোবাইল ডেটা খরচ হওয়ার কারণ হতে পারে) @@ -182,6 +184,6 @@ ভূমিকা অবস্থানের অনুমতি ছাড়া কাছাকাছি জায়গাগুলি প্রদর্শন করা যাবে না কোন বিবরণ পাওয়া যায়নি - কমন্স নিবন্ধ + কমন্সে ফাইলের পাতা উইকিউপাত্ত পদ diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 39c90dd15..5bfc72e43 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -8,7 +8,7 @@ Registre S’està iniciant la sessió Espereu… - S\'ha iniciat sessió correctament ! + S\'ha iniciat sessió correctament! Error en iniciar la sessió! No s\'ha trobat el fitxer. Proveu-ho amb un altre fitxer. L\'autenticació ha fallat! @@ -38,9 +38,9 @@ Títol Descripció No s\'ha pogut iniciar la sessió – error de xarxa - No s\'ha pogut iniciar la sessió – siusplau comprova el teu nom d\'usuari + No s\'ha pogut iniciar la sessió – si et plau comprova el teu nom d\'usuari No s’ha pogut iniciar la sessió. Comproveu la vostra contrasenya - Masses intents erronis – Proveu-ho de nou d\'aquí uns minuts. + Massa intents erronis – Proveu-ho de nou d\'aquí uns minuts. Ho sentim, aquest usuari ha estat blocat a Commons Ha fallat l\'inici de sessió Carrega diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index b849c81e3..5c429f66a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -88,6 +88,7 @@ Erneut versuchen Abbrechen Dieses Bild wird lizenziert unter %1$s + Durch das Hochladen dieses Bildes erkläre ich, dass dies mein eigenes Werk ist, das kein urheberrechtlich geschütztes Material oder Selfies enthält und das auch sonst die <a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines/de\">Wikimedia-Commons-Richtlinien</a> einhält. Herunterladen Lizenz Vorherige(n) Titel/Beschreibung verwenden diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 136b6f218..ca4611489 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -16,9 +16,9 @@ ¡Se subieron %1$s! Pulsa para ver tu subida Empezando la subida de %1$s - Cargando «%1$s» + Cargando %1$s Finalizando la subida de %1$s - Falló la carga de «%1$s» + Falló la carga de %1$s Toca para ver Subiendo %d archivo @@ -27,7 +27,7 @@ Mis subidas recientes En la cola Fallido - %1$d %% completado + %1$d%% completado Subiendo De la galería Tomar una foto diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 543f630c1..1c3ba42da 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -73,6 +73,7 @@ Berriz saiatu Utzi Irudi hau %1$s lizentziapean egongo da + Irudi hau bidaltzen, nire lan propioa dela aitortzen dut, copyrighta duten materiala edo selfiak ez duela, eta beste motatakoak <a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\">Wikimedia Ohikoaren arauak</a> Jaitsi Lizentzia Aurreko izenburu/deskribapena erabili diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 118ce4b97..43bb62f0d 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -88,6 +88,7 @@ Réessayer Annuler Cette image sera sous licence %1$s + En soumettant cette image, je déclare qu\'elle est l\'oeuvre de mon travail, qu\'elle ne contient pas d\'élément protégé par les droits d\'auteurs ni de portraits, et qu\'elle est par ailleur conforme à <a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\">la politique de Wikimedia Commons</a>. Télécharger Licence Utiliser le titre ou la description précédent diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 749b35ab7..d2fc2330c 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -87,6 +87,7 @@ לנסות שוב ביטול התמונה הזאת היא תחת רשיון %1$s + שליחת התמונה הזאת מהווה את הצהרתי על כך שזאת יצירה שלי, שהיא לא מכילה חומר מוגבל בזכויות יוצרים או תמונות עצמיות (סלפי) ומתאימה בכל אופן ל<a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\">מדיניות של אתר ויקישיתוף של ויקימדיה</a>. הורדה רישיון להשתמש בכותרת ובתיאור קודמים diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index b3f080ac0..a71473023 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -54,6 +54,7 @@ Atcelt Lejupielādēt Licence + Nakts režīms CC0 Jums šķiet, ka sapratāt? Jā! @@ -66,6 +67,7 @@ Brīdinājums + Augšupielādēt attēlu Lama Tulpe Atcelt diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index a830cc6bc..2323d701d 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -88,6 +88,7 @@ Пробај пак Откажи Сликава ќе се води под лиценцата %1$s + Поднесувајќи ја сликава, изјавувам дека истата е мое сопствено дело, дека не содржи никаков материјал заштитен со авторски права, не содржи самослици, и дека на секој друг начин е во склад со <a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines/mk?uselang=mk\">правилата на Ризницата</a>. Преземи Лиценца Користи претходен наслов/опис diff --git a/app/src/main/res/values-pms/strings.xml b/app/src/main/res/values-pms/strings.xml index ad1aaf210..ef2cc33e1 100644 --- a/app/src/main/res/values-pms/strings.xml +++ b/app/src/main/res/values-pms/strings.xml @@ -88,6 +88,7 @@ Prové torna Anulé Costa plancia a sarà sota la licensa %1$s + An mandand costa plancia, i diciaro ch\'a l\'é euvra ëd mè travaj, ch\'a conten nen d\'element sota drit d\'autor o d\'àutoscat, e che comsëssìa a l\'é conforma a <a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\">le régole ëd Wikimedia Commons</a>. Dëscarié Licensa Dovré ël tìtol o la descrission precedent diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 3b38b8a3f..91d226aff 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -75,7 +75,7 @@ Configurações Criar conta Sobre - Software livre distribuído sob a <a href=\"https://github.com/commons-app/apps-android-commons/blob/master/COPYING\">Apache License v2</a>. Wikimedia Commons e seu logotipo são marcas registradas da Wikimedia Foundation e são usadas com a permissão da Wikimedia Foundation. Não somos endossados nem afiliados à Wikimedia Foundation. + Software livre distribuído sob a <a href=\"https://github.com/commons-app/apps-android-commons/blob/master/COPYING\">Apache License v2</a>. %1$s e seu logotipo são marcas registradas da Wikimedia Foundation e são usadas com a permissão da Wikimedia Foundation. Não somos endossados nem afiliados à Wikimedia Foundation. <a href=\"https://github.com/commons-app/apps-android-commons\">Fonte</a> e <a href=\"https://commons-app.github.io/\">site</a> em GitHub. Crie um novo <a href=\"https://github.com/commons-app/apps-android-commons/issues\">GitHub issue</a> para relatórios de bugs e sugestões. <a href=\"https://wikimediafoundation.org/wiki/Privacy_policy\">Política de privacidade</a> <a href=\"https://github.com/commons-app/apps-android-commons/blob/master/CREDITS\">Créditos</a> @@ -88,6 +88,7 @@ Repetir Cancelar Essa imagem será licenciada sob %1$s + Ao enviar esta imagem, declaro que este é o meu próprio trabalho, que não contém material protegido ou selfies, e, de outra forma, adere a <a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\">Políticas do Wikimedia Commons</a>. Download Licença Usar o título/descrição anterior @@ -149,6 +150,9 @@ Descrição Descrição da mídia aqui. Isso pode ser potencialmente longo e precisará envolver múltiplas linhas. Esperamos que seja agradável. Data de envio. + Licença + Coordenadas + Nenhum fornecido Seja um Testador Beta Entre no nosso canal beta no Google Play e receba acesso prévio a novos recursos e correções de erros Usa Wikidata @@ -187,7 +191,7 @@ Tutorial Os locais próximos não podem ser exibidos sem permissões de localização Nenhuma descrição encontrada - Artigo de Commons + Página de arquivo do Commons Item do Wikidata Erro durante o cache de imagens diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index e47aea906..a4fd3f49f 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -79,7 +79,7 @@ Настройки Зарегистрироваться О приложении - Приложение с открытым исходным кодом, выпущено по лицензии <a href=\"https://github.com/commons-app/apps-android-commons/blob/master/COPYING\">Apache License v2</a>. Викисклад и его логотип являются товарными знаками Фонда Викимедиа и используются с разрешения Фонда Викимедиа. Мы не поддерживаемся и не связаны с Фондом Викимедиа. + Приложение с открытым исходным кодом, выпущено по лицензии <a href=\"https://github.com/commons-app/apps-android-commons/blob/master/COPYING\">Apache License v2</a>. %1$s и его логотип являются товарными знаками Фонда Викимедиа и используются с разрешения Фонда Викимедиа. Мы не поддерживаемся и не связаны с Фондом Викимедиа. <a href=\"https://github.com/commons-app/apps-android-commons\">Исходный код</a> и <a href=\"https://commons-app.github.io/\">сайт</a> на GitHub. Создайте новый <a href=\"https://github.com/commons-app/apps-android-commons/issues\">запрос на GitHub</a>, чтоб сообщить об ошибке или внести предложение. <a href=\"https://wikimediafoundation.org/wiki/Privacy_policy/ru\">Политика конфиденциальности</a> <a href=\"https://github.com/commons-app/apps-android-commons/blob/master/CREDITS\">Благодарности</a> @@ -153,6 +153,8 @@ Описание Здесь располагается описание носителя информации. Оно потенциально может быть весьма длинным и даже располагаться в несколько строк. Однако мы надеемся, что это выглядит симпатично Дата загрузки + Лицензия + Координаты Стать бета-тестером Подпишитесь на наш канал бета-версии на Google Play и получите ранний доступ к новым функциям и исправлениям ошибок Использовать Викиданные @@ -191,7 +193,7 @@ Руководство Ближайшие места не могут быть отображены без разрешения на геолокацию описание не найдено - Статья на Викискладе + Страница файла на Викискладе Элемент Викиданных Ошибка при кэшировании картинок diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 2bfa69c7f..20716949d 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -88,6 +88,7 @@ Försök igen Avbryt Denna bild kommer att licensieras under %1$s + Genom att skicka in denna bild intygar jag att detta är mitt eget verk, som inte innehåller upphovsrättsskyddat material eller selfies samt annars följer <a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\">Wikimedia Commons-policys</a>. Ladda ned Licens Använd föregående titel/beskrivning diff --git a/app/src/main/res/values-tcy/strings.xml b/app/src/main/res/values-tcy/strings.xml index 376ff1034..4ece0c348 100644 --- a/app/src/main/res/values-tcy/strings.xml +++ b/app/src/main/res/values-tcy/strings.xml @@ -1,5 +1,6 @@ + ಕಾಮನ್ಸ್ ಸಂಯೋಜನೆಲು ಸದಸ್ಯೆರ್ನ ಪುದರ್ ಪ್ರವೇಸೊ ಪದೊ @@ -23,7 +24,7 @@ %d ಕಡತ ಅಪ್ಲೊಡ್ ಆವೊಂದುಂಡು %d ಕಡತೊಲು ಅಪ್ಲೋಡ್ ಆವೊಂದುಂಡು - ಎನ್ನ ದಿಂಜಯೀನಾ ವಿಚಾರೊಳು + ಎನ್ನ ದಿಂಜಯೀನಾ ವಿಚಾರೊಳು ದಿಂಜೊಂತುಂಡು ದಿಂಜಿಜಿ %1$d%% ಮುಗಿಂಡ್ @@ -48,6 +49,7 @@ ಎಂಕ್ಲೆನ ಬಗ್ಗೆ ನನೊರ ಪ್ರಯತ್ನ ಮಾನ್ಪುಲೇ ವಜಾ ಮಲ್ಪುಲೆ + ಡೌನ್‍ಲೋಡ್ ಪರವಾನಗಿ ಕತ್ತಲೆದ ಕ್ರಮೊ CC0 @@ -63,6 +65,7 @@ CC BY 3.0 CC BY-SA 4.0 CC BY 4.0 + CC Zero ಅಂದ್! ವರ್ಗೊಲು ದಿಂಜಾವೊಂದುಂಡು…… @@ -73,4 +76,16 @@ ಅಂದ್ ಅತ್ತ್ ತರೆಬರವು + ವಿವರಣೆ + ಪರವಾನಿಗೆ + ವಜಾ ಮಲ್ಪುಲೆ + ತೋಜಾಲೇ + ಮುಚ್ಚಿಲೆ + ಮುಖ್ಯಪುಟೊ + ದಿಂಜಾಲೆ + ಕೈತಲ್‍ದ + ಎಂಕ್ಲೆನ ಬಗ್ಗೆ + ಸಂಯೋಜನೆಲು + ಅಬಿಪ್ರಾಯೊ + ನಿರ್ಗಮಿಸಾಲೆ diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 5c92238f7..d7229008e 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -107,4 +107,6 @@ Açıklama yok Bilinmeyen lisans Yenile + Lisans + Koordinatlar diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 0961ebe06..55c983886 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -88,6 +88,7 @@ 重試 取消 此圖片會按 %1$s 協議授權上載 + 透過提交此圖片,我宣佈這是我個人創作的成品,且不包含受版權保護或自拍內容,並除此之外遵守<a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\">維基媒體共享資源方針</a>。 下載 協議授權 使用先前標題/描述 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index d2c740f89..0d03da14f 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -88,6 +88,7 @@ 重试 取消 该图像会采用%1$s授权 + 通过提交该图片,我声明这是我自己的作品,其不包含受版权保护的材料或自拍像,并遵循<a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\">维基共享资源</a>方针。 下载 许可协议 使用之前的标题/描述 From 6f19446011d3a81cc212556aa7174e830099a481 Mon Sep 17 00:00:00 2001 From: Josephine Lim Date: Fri, 28 Jul 2017 20:30:14 +1000 Subject: [PATCH 16/18] Add akaita and janpio to CREDITS.md --- CREDITS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CREDITS b/CREDITS index a0e1fcec4..7f2ab0893 100644 --- a/CREDITS +++ b/CREDITS @@ -24,6 +24,8 @@ their contribution to the product. * Dmitry Brant * Adam Shorland * John Lubbock +* Mikel Pascual +* Jan Piotrowski 3rd party open source libraries used: * Butterknife From 69cca7eb31c3765a980a228527076e36baff4522 Mon Sep 17 00:00:00 2001 From: Josephine Lim Date: Fri, 28 Jul 2017 21:44:22 +1000 Subject: [PATCH 17/18] Update changelog.md --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b41ff0e2..1de06a4e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Wikimedia Commons for Android +## v2.5.0 beta +- Added one-time popup for beta users to provide feedback on IEG renewal proposal +- Added link to Commons policies in ShareActivity +- Various string fixes +- Switched to using vector icons for map markers +- Added filter for irrelevant categories +- Fixed various crashes +- Incremented target SDK to 25 +- Improved appearance of navigation drawer +- Replaced proprietary app image in tutorial with one that isn't Telegram +- Fixed camera issue with FileProvider +- Added RxJava library, migrated to Java 8 +- Various code and continuous integration optimizations + ## v2.4.2 beta - Added option to launch tutorial again from nav drawer - Added marker for current location in Nearby map From ac5b876b1aba9fb35dc463ea59233b4fbd0234ba Mon Sep 17 00:00:00 2001 From: misaochan Date: Fri, 28 Jul 2017 21:36:49 +1000 Subject: [PATCH 18/18] Versioning --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f400c035a..3177b672c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -52,8 +52,8 @@ android { defaultConfig { applicationId 'fr.free.nrw.commons' - versionCode 73 - versionName '2.4.2' + versionCode 74 + versionName '2.5.0' minSdkVersion project.minSdkVersion targetSdkVersion project.targetSdkVersion testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"