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 e59264099..3d9776129 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