From 8f6a201d35010d6ad039ff7944165f9aedc6d489 Mon Sep 17 00:00:00 2001 From: maskara Date: Sun, 5 Mar 2017 03:13:56 +0530 Subject: [PATCH] Fixes #144: Add CC 4.0 to license options --- .../main/java/fr/free/nrw/commons/Prefs.java | 6 +++-- .../fr/free/nrw/commons/SettingsActivity.java | 10 ++++--- .../main/java/fr/free/nrw/commons/Utils.java | 27 ++++++++++++++----- .../commons/contributions/Contribution.java | 2 +- .../commons/upload/SingleUploadFragment.java | 2 +- .../nrw/commons/upload/UploadController.java | 2 +- app/src/main/res/values/strings.xml | 2 ++ 7 files changed, 36 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/Prefs.java b/app/src/main/java/fr/free/nrw/commons/Prefs.java index b8d494b95..0bb01aea0 100644 --- a/app/src/main/java/fr/free/nrw/commons/Prefs.java +++ b/app/src/main/java/fr/free/nrw/commons/Prefs.java @@ -7,8 +7,10 @@ public class Prefs { public static final String DEFAULT_LICENSE = "defaultLicense"; public static class Licenses { - public static final String CC_BY_SA = "CC BY-SA"; - public static final String CC_BY = "CC BY"; + public static final String CC_BY_SA_3 = "CC BY-SA"; + public static final String CC_BY_3 = "CC BY"; + public static final String CC_BY_SA_4 = "CC BY-SA 4.0"; + public static final String CC_BY_4 = "CC BY 4.0"; public static final String CC0 = "CC0"; } } diff --git a/app/src/main/java/fr/free/nrw/commons/SettingsActivity.java b/app/src/main/java/fr/free/nrw/commons/SettingsActivity.java index 38f655500..933d39bbd 100644 --- a/app/src/main/java/fr/free/nrw/commons/SettingsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/SettingsActivity.java @@ -28,12 +28,16 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer licensePreference.setEntries(new String[]{ getString(R.string.license_name_cc0), getString(R.string.license_name_cc_by), - getString(R.string.license_name_cc_by_sa) + getString(R.string.license_name_cc_by_four), + getString(R.string.license_name_cc_by_sa), + getString(R.string.license_name_cc_by_sa_four) }); licensePreference.setEntryValues(new String[]{ Prefs.Licenses.CC0, - Prefs.Licenses.CC_BY, - Prefs.Licenses.CC_BY_SA + Prefs.Licenses.CC_BY_3, + Prefs.Licenses.CC_BY_4, + Prefs.Licenses.CC_BY_SA_3, + Prefs.Licenses.CC_BY_SA_4 }); licensePreference.setSummary(getString(Utils.licenseNameFor(licensePreference.getValue()))); diff --git a/app/src/main/java/fr/free/nrw/commons/Utils.java b/app/src/main/java/fr/free/nrw/commons/Utils.java index 1463d20c7..f07d5c8bd 100644 --- a/app/src/main/java/fr/free/nrw/commons/Utils.java +++ b/app/src/main/java/fr/free/nrw/commons/Utils.java @@ -205,10 +205,14 @@ public class Utils { } public static String licenseTemplateFor(String license) { - if(license.equals(Prefs.Licenses.CC_BY)) { + if(license.equals(Prefs.Licenses.CC_BY_3)) { return "{{self|cc-by-3.0}}"; - } else if(license.equals(Prefs.Licenses.CC_BY_SA)) { + } else if(license.equals(Prefs.Licenses.CC_BY_4)) { + return "{{self|cc-by-4.0}}"; + } else if(license.equals(Prefs.Licenses.CC_BY_SA_3)) { return "{{self|cc-by-sa-3.0}}"; + } else if(license.equals(Prefs.Licenses.CC_BY_SA_4)) { + return "{{self|cc-by-sa-4.0}}"; } else if(license.equals(Prefs.Licenses.CC0)) { return "{{self|cc-zero}}"; } @@ -216,10 +220,14 @@ public class Utils { } public static int licenseNameFor(String license) { - if(license.equals(Prefs.Licenses.CC_BY)) { + if(license.equals(Prefs.Licenses.CC_BY_3)) { return R.string.license_name_cc_by; - } else if(license.equals(Prefs.Licenses.CC_BY_SA)) { + } else if(license.equals(Prefs.Licenses.CC_BY_4)) { + return R.string.license_name_cc_by_four; + } else if(license.equals(Prefs.Licenses.CC_BY_SA_3)) { return R.string.license_name_cc_by_sa; + } else if(license.equals(Prefs.Licenses.CC_BY_SA_4)) { + return R.string.license_name_cc_by_sa_four; } else if(license.equals(Prefs.Licenses.CC0)) { return R.string.license_name_cc0; } @@ -227,11 +235,16 @@ public class Utils { } public static String licenseUrlFor(String license) { - if(license.equals(Prefs.Licenses.CC_BY)) { + if(license.equals(Prefs.Licenses.CC_BY_3)) { return "https://creativecommons.org/licenses/by/3.0/"; - } else if(license.equals(Prefs.Licenses.CC_BY_SA)) { + } else if(license.equals(Prefs.Licenses.CC_BY_4)) { + return "https://creativecommons.org/licenses/by/4.0/"; + } else if(license.equals(Prefs.Licenses.CC_BY_SA_3)) { return "https://creativecommons.org/licenses/by-sa/3.0/"; - } else if(license.equals(Prefs.Licenses.CC0)) { + } else if(license.equals(Prefs.Licenses.CC_BY_SA_4)) { + return "https://creativecommons.org/licenses/by-sa/4.0/"; + } + else if(license.equals(Prefs.Licenses.CC0)) { return "https://creativecommons.org/publicdomain/zero/1.0/"; } throw new RuntimeException("Unrecognized license value"); diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.java b/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.java index 83b3068a0..0cbd0e788 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.java @@ -369,7 +369,7 @@ public class Contribution extends Media { db.execSQL("ALTER TABLE " + TABLE_NAME + " ADD COLUMN height INTEGER;"); db.execSQL("UPDATE " + TABLE_NAME + " SET height = 0"); db.execSQL("ALTER TABLE " + TABLE_NAME + " ADD COLUMN license STRING;"); - db.execSQL("UPDATE " + TABLE_NAME + " SET license='" + Prefs.Licenses.CC_BY_SA + "';"); + db.execSQL("UPDATE " + TABLE_NAME + " SET license='" + Prefs.Licenses.CC_BY_SA_3 + "';"); from++; onUpdate(db, from, to); return; diff --git a/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java b/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java index 3bfd34280..2d9a98508 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java @@ -116,7 +116,7 @@ public class SingleUploadFragment extends Fragment { titleEdit.addTextChangedListener(uploadEnabler); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); - final String license = prefs.getString(Prefs.DEFAULT_LICENSE, Prefs.Licenses.CC_BY_SA); + final String license = prefs.getString(Prefs.DEFAULT_LICENSE, Prefs.Licenses.CC_BY_SA_3); licenseSummaryView.setText(getString(R.string.share_license_summary, getString(Utils.licenseNameFor(license)))); // Open license page on touch diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadController.java b/app/src/main/java/fr/free/nrw/commons/upload/UploadController.java index 21ac2ac87..629e43881 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadController.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadController.java @@ -93,7 +93,7 @@ public class UploadController { contribution.setDescription(""); } - String license = prefs.getString(Prefs.DEFAULT_LICENSE, Prefs.Licenses.CC_BY_SA); + String license = prefs.getString(Prefs.DEFAULT_LICENSE, Prefs.Licenses.CC_BY_SA_3); contribution.setLicense(license); //FIXME: Add permission request here. Only executeAsyncTask if permission has been granted diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d0b45446e..5f064d7f2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -90,6 +90,8 @@ Tap this message (or hit back) to skip this step. Use previous title/description Automatically get current location Retrieve current location to offer category suggestions if image is not geotagged + Attribution-ShareAlike 4.0 + Attribution 4.0 Attribution-ShareAlike 3.0 Attribution 3.0 CC0