From 2979cfe072bed3315b77829525dff80ab0f7e825 Mon Sep 17 00:00:00 2001 From: maskara Date: Sat, 24 Feb 2018 01:45:15 +0530 Subject: [PATCH 01/12] Fix crash in map view fragment --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 480916ee8..2430a5068 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -18,7 +18,7 @@ dependencies { implementation 'com.google.code.gson:gson:2.8.1' implementation 'com.jakewharton.timber:timber:4.5.1' implementation 'info.debatty:java-string-similarity:0.24' - implementation ('com.mapbox.mapboxsdk:mapbox-android-sdk:5.2.1@aar'){ + implementation ('com.mapbox.mapboxsdk:mapbox-android-sdk:5.4.1@aar'){ transitive=true } From e6e981ed200abaa6290473b2bbd37b9c9126be4a Mon Sep 17 00:00:00 2001 From: maskara Date: Sat, 24 Feb 2018 02:11:48 +0530 Subject: [PATCH 02/12] Change location of notifications item in the hamburger menu --- app/src/main/res/menu/drawer.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/menu/drawer.xml b/app/src/main/res/menu/drawer.xml index 83c1bf0ad..f41d1c43a 100644 --- a/app/src/main/res/menu/drawer.xml +++ b/app/src/main/res/menu/drawer.xml @@ -10,6 +10,11 @@ android:icon="@drawable/ic_location_black_24dp" android:title="@string/navigation_item_nearby"/> + + - - From 3045b63f99d34382a4ec7d8beb9ba7671b779293 Mon Sep 17 00:00:00 2001 From: maskara Date: Sat, 24 Feb 2018 02:22:48 +0530 Subject: [PATCH 03/12] Fix order of notifications --- .../fr/free/nrw/commons/notification/NotificationActivity.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java index dc9d733f4..4b4ca3007 100644 --- a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java @@ -10,6 +10,7 @@ import android.support.v7.widget.RecyclerView; import com.pedrogomez.renderers.RVRendererAdapter; +import java.util.Collections; import java.util.List; import javax.inject.Inject; @@ -58,6 +59,7 @@ public class NotificationActivity extends NavigationBaseActivity { .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(notificationList -> { + Collections.reverse(notificationList); Timber.d("Number of notifications is %d", notificationList.size()); setAdapter(notificationList); }, throwable -> Timber.e(throwable, "Error occurred while loading notifications")); From 324e2a60d6b8b0fbddd683e5e8961446bfa1ed7a Mon Sep 17 00:00:00 2001 From: Ayushi Date: Sat, 24 Feb 2018 19:46:33 +0530 Subject: [PATCH 04/12] Add ItemDivider in NotificationActivity (#1186) * Use DividerItemDecoration to add ItemDivider in RecycleView --- .../fr/free/nrw/commons/notification/NotificationActivity.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java index dc9d733f4..5229d7571 100644 --- a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java @@ -5,6 +5,7 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.support.v7.widget.DividerItemDecoration; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; @@ -47,6 +48,8 @@ public class NotificationActivity extends NavigationBaseActivity { private void initListView() { recyclerView = findViewById(R.id.listView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); + DividerItemDecoration itemDecor = new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL); + recyclerView.addItemDecoration(itemDecor); addNotifications(); } From ccf68d12ff06de5124f985181752d414959db7be Mon Sep 17 00:00:00 2001 From: Ayushi Date: Sat, 24 Feb 2018 19:51:27 +0530 Subject: [PATCH 05/12] Remove View Bindings in NotificationActivity * ButterKnife already used --- .../fr/free/nrw/commons/notification/NotificationActivity.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java index 5229d7571..4b8d4671d 100644 --- a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java @@ -46,7 +46,6 @@ public class NotificationActivity extends NavigationBaseActivity { } private void initListView() { - recyclerView = findViewById(R.id.listView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); DividerItemDecoration itemDecor = new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL); recyclerView.addItemDecoration(itemDecor); From a52680d646eba18c555057a0cecbd7de406febc8 Mon Sep 17 00:00:00 2001 From: Tanvi Dadu Date: Sat, 24 Feb 2018 22:09:52 +0530 Subject: [PATCH 06/12] Add explicit mention of beta server to login screen (#1102) * Add explicit mention of beta server to login screen of beta product flavour * Add explicit mention of beta server to login screen of beta product flavour * Add explicit mention of beta server to login screen of beta product flavour * Add explicit mention of beta server to login screen of beta product flavour * Add explicit mention of beta server to login screen of beta product flavour * Add explicit mention of beta server to login screen of beta product flavour --- .../free/nrw/commons/auth/LoginActivity.java | 7 +++++++ app/src/main/res/layout/activity_login.xml | 19 +++++++++++++++++-- app/src/main/res/values/strings.xml | 1 + 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java b/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java index b771e8c1d..cbdff2e0b 100644 --- a/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java @@ -72,6 +72,7 @@ public class LoginActivity extends AccountAuthenticatorActivity { @BindView(R.id.loginTwoFactor) EditText twoFactorEdit; @BindView(R.id.error_message_container) ViewGroup errorMessageContainer; @BindView(R.id.error_message) TextView errorMessage; + @BindView(R.id.login_credentials) TextView loginCredentials; @BindView(R.id.two_factor_container)TextInputLayout twoFactorContainer; ProgressDialog progressDialog; private AppCompatDelegate delegate; @@ -112,6 +113,12 @@ public class LoginActivity extends AccountAuthenticatorActivity { loginButton.setOnClickListener(view -> performLogin()); signupButton.setOnClickListener(view -> signUp()); + + if(BuildConfig.FLAVOR == "beta"){ + loginCredentials.setText(getString(R.string.login_credential)); + } else { + loginCredentials.setVisibility(View.GONE); + } } diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 15d4c099d..1681d89f7 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -44,14 +44,29 @@ android:textColor="@android:color/white" android:textSize="@dimen/heading_text_size" /> + + + - Settings Username Password + Log in to your Commons Beta account Log in Sign up Logging in From 96173e26cf07ef0d3f23cb8bb9ca4b21820eddf5 Mon Sep 17 00:00:00 2001 From: Ujjwal Agrawal Date: Sun, 25 Feb 2018 00:27:49 +0530 Subject: [PATCH 07/12] Changed Webviews to Custom Tabs in Nearby Places Dialog, AboutUsActivity (#1185) * Changed Webviews to Custom Tabs in Nearby Places Dialog, AboutUsActivity * Created method handleWebUrl in Utils.java --- app/build.gradle | 1 + .../fr/free/nrw/commons/AboutActivity.java | 25 +++++++++++++------ .../main/java/fr/free/nrw/commons/Utils.java | 16 ++++++++++++ .../nrw/commons/nearby/NearbyInfoDialog.java | 6 +++-- app/src/main/res/layout/activity_about.xml | 9 ++++--- app/src/main/res/values/strings.xml | 4 +-- 6 files changed, 46 insertions(+), 15 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 480916ee8..44ba0d1f1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -26,6 +26,7 @@ dependencies { implementation "com.android.support:support-v4:$SUPPORT_LIB_VERSION" implementation "com.android.support:appcompat-v7:$SUPPORT_LIB_VERSION" implementation "com.android.support:design:$SUPPORT_LIB_VERSION" + implementation "com.android.support:customtabs:$SUPPORT_LIB_VERSION" implementation "com.android.support:cardview-v7:$SUPPORT_LIB_VERSION" diff --git a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java index a2f67a3bf..27816d762 100644 --- a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java @@ -3,6 +3,8 @@ package fr.free.nrw.commons; import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.support.customtabs.CustomTabsIntent; +import android.support.v4.content.ContextCompat; import android.view.View; import android.widget.TextView; @@ -47,22 +49,29 @@ public class AboutActivity extends NavigationBaseActivity { intent.setPackage("com.facebook.katana"); startActivity(intent); } catch (Exception e) { - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/" + "1921335171459985"))); + Utils.handleWebUrl(this,Uri.parse("https://www.facebook.com/" + "1921335171459985")); } - } @OnClick(R.id.github_launch_icon) public void launchGithub(View view) { - - Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/commons-app/apps-android-commons\\")); - startActivity(browserIntent); + Utils.handleWebUrl(this,Uri.parse("https://commons-app.github.io/\\")); } @OnClick(R.id.website_launch_icon) public void launchWebsite(View view) { - - Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://commons-app.github.io/\\")); - startActivity(browserIntent); + Utils.handleWebUrl(this,Uri.parse("https://commons-app.github.io/\\")); } + + @OnClick(R.id.about_credits) + public void launchCredits(View view) { + Utils.handleWebUrl(this,Uri.parse("https://github.com/commons-app/apps-android-commons/blob/master/CREDITS/\\")); + } + + @OnClick(R.id.about_privacy_policy) + public void launchPrivacyPolicy(View view) { + Utils.handleWebUrl(this,Uri.parse("https://github.com/commons-app/apps-android-commons/wiki/Privacy-policy\\")); + } + + } \ No newline at end of file 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 817c39f24..9f91bff12 100644 --- a/app/src/main/java/fr/free/nrw/commons/Utils.java +++ b/app/src/main/java/fr/free/nrw/commons/Utils.java @@ -1,8 +1,12 @@ package fr.free.nrw.commons; import android.content.Context; +import android.content.Intent; +import android.net.Uri; import android.preference.PreferenceManager; import android.support.annotation.NonNull; +import android.support.customtabs.CustomTabsIntent; +import android.support.v4.content.ContextCompat; import org.apache.commons.codec.binary.Hex; import org.apache.commons.codec.digest.DigestUtils; @@ -11,6 +15,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; +import java.net.URL; import java.net.URLEncoder; import java.util.Locale; import java.util.regex.Matcher; @@ -159,4 +164,15 @@ public class Utils { return stringBuilder.toString(); } + + public static void handleWebUrl(Context context,Uri url){ + CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); + builder.setToolbarColor(ContextCompat.getColor(context, R.color.primaryColor)); + builder.setSecondaryToolbarColor(ContextCompat.getColor(context, R.color.primaryDarkColor)); + builder.setExitAnimations(context, android.R.anim.slide_in_left, android.R.anim.slide_out_right); + CustomTabsIntent customTabsIntent = builder.build(); + customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + customTabsIntent.launchUrl(context, url); + } + } diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyInfoDialog.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyInfoDialog.java index b383fd9b9..69fce546c 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyInfoDialog.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyInfoDialog.java @@ -3,7 +3,9 @@ package fr.free.nrw.commons.nearby; import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.support.customtabs.CustomTabsIntent; import android.support.v4.app.FragmentActivity; +import android.support.v4.content.ContextCompat; import android.support.v7.widget.PopupMenu; import android.view.LayoutInflater; import android.view.MenuItem; @@ -17,6 +19,7 @@ import butterknife.ButterKnife; import butterknife.OnClick; import butterknife.Unbinder; import fr.free.nrw.commons.R; +import fr.free.nrw.commons.Utils; import fr.free.nrw.commons.location.LatLng; import fr.free.nrw.commons.ui.widget.OverlayDialog; import fr.free.nrw.commons.utils.DialogUtil; @@ -141,8 +144,7 @@ public class NearbyInfoDialog extends OverlayDialog { } private void openWebView(Uri link) { - Intent browserIntent = new Intent(Intent.ACTION_VIEW, link); - startActivity(browserIntent); + Utils.handleWebUrl(getContext(),link); } @OnClick(R.id.emptyLayout) diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 76c51a4aa..82aa38919 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -104,23 +104,26 @@ - - + android:textColor="@color/primaryColor" + android:text="@string/about_credits" + /> The Wikimedia Commons app is an open-source app created and maintained by grantees and volunteers of the Wikimedia community. The Wikimedia Foundation is not involved in the creation, development, or maintenance of the app. Wikimedia Commons Create a new <a href=\"https://github.com/commons-app/apps-android-commons/issues\">GitHub issue</a> for bug reports and suggestions. - <a href=\"https://github.com/commons-app/apps-android-commons/wiki/Privacy-policy\">Privacy policy</a> - <a href=\"https://github.com/commons-app/apps-android-commons/blob/master/CREDITS\">Credits</a> + Privacy policy + Credits About Send Feedback (via Email) No email client installed From 660fb4a8d6fd8d639a797e763724b84be6eee82b Mon Sep 17 00:00:00 2001 From: knightshade Date: Sun, 25 Feb 2018 20:39:35 +0530 Subject: [PATCH 08/12] Add ScrollView in About activity. Fixes #1177 --- app/src/main/res/layout/activity_about.xml | 232 ++++++++++----------- 1 file changed, 115 insertions(+), 117 deletions(-) diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 82aa38919..f03ff9c76 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -5,137 +5,135 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - + android:layout_height="wrap_content"> - + android:layout_height="wrap_content"> - - - - - - - - - - - - + android:layout_marginLeft="@dimen/activity_margin_horizontal" + android:layout_marginRight="@dimen/activity_margin_horizontal" + android:layout_marginStart="@dimen/activity_margin_horizontal" + android:layout_marginTop="@dimen/activity_margin_vertical" + android:gravity="center" + android:orientation="vertical"> + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/commons_logo" + android:src="@drawable/ic_launcher" /> - + - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + app:menu="@menu/drawer" /> \ No newline at end of file From 81064dee10b6d6e981d76d24647808b9486147bb Mon Sep 17 00:00:00 2001 From: Ayushi Date: Mon, 26 Feb 2018 04:17:19 +0530 Subject: [PATCH 09/12] Show only the email clients in Feedback Feature (#1203) Instead of showing only the email clients, The Feedback feature was showing multiple unsupported clients (WhatsApp, Bluetooth etc) * Changes made to let the user choose from the available email related clients only. --- .../fr/free/nrw/commons/theme/NavigationBaseActivity.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 99c9f253b..fa0e43957 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 @@ -5,6 +5,7 @@ import android.accounts.AccountManager; import android.content.ActivityNotFoundException; import android.content.Context; 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; @@ -119,8 +120,9 @@ public abstract class NavigationBaseActivity extends BaseActivity return true; case R.id.action_feedback: drawerLayout.closeDrawer(navigationView); - Intent feedbackIntent = new Intent(Intent.ACTION_SEND); + Intent feedbackIntent = new Intent(Intent.ACTION_SENDTO); feedbackIntent.setType("message/rfc822"); + feedbackIntent.setData(Uri.parse("mailto:")); feedbackIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{CommonsApplication.FEEDBACK_EMAIL}); feedbackIntent.putExtra(Intent.EXTRA_SUBJECT, From e9602f5bb2496d2ca2d8f8fed8937a19a65d8ee7 Mon Sep 17 00:00:00 2001 From: knightshade Date: Mon, 26 Feb 2018 07:32:20 +0530 Subject: [PATCH 10/12] Update roboectric. --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c021e28ac..6f225dc2f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -49,7 +49,7 @@ dependencies { compile 'com.facebook.stetho:stetho:1.5.0' testCompile 'junit:junit:4.12' - testCompile 'org.robolectric:robolectric:3.4' + testCompile 'org.robolectric:robolectric:3.7.1' testCompile 'com.squareup.okhttp3:mockwebserver:3.8.1' androidTestCompile 'com.squareup.okhttp3:mockwebserver:3.8.1' @@ -78,7 +78,7 @@ dependencies { androidTestImplementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" testImplementation 'junit:junit:4.12' - testImplementation 'org.robolectric:robolectric:3.4' + testImplementation 'org.robolectric:robolectric:3.7.1' testImplementation 'org.mockito:mockito-all:1.10.19' testImplementation 'com.squareup.okhttp3:mockwebserver:3.8.1' From 541976cdfff00ab134c4b89ad195c7deb4cec46d Mon Sep 17 00:00:00 2001 From: knightshade Date: Mon, 26 Feb 2018 08:39:38 +0530 Subject: [PATCH 11/12] login_credentials textview added to landscape and x-large activity_login.xml --- .../main/res/layout-land/activity_login.xml | 42 +++++++++++++------ .../main/res/layout-xlarge/activity_login.xml | 36 +++++++++++----- app/src/main/res/layout/activity_login.xml | 30 ++++++------- 3 files changed, 71 insertions(+), 37 deletions(-) diff --git a/app/src/main/res/layout-land/activity_login.xml b/app/src/main/res/layout-land/activity_login.xml index 9ecaf9855..a87084f66 100644 --- a/app/src/main/res/layout-land/activity_login.xml +++ b/app/src/main/res/layout-land/activity_login.xml @@ -13,12 +13,12 @@ @@ -40,11 +40,26 @@ android:textColor="@android:color/white" android:textSize="@dimen/heading_text_size" /> + + @@ -56,6 +71,7 @@ android:layout_marginLeft="@dimen/standard_gap" android:layout_marginRight="@dimen/standard_gap" android:layout_marginStart="@dimen/standard_gap" + android:gravity="center" android:paddingBottom="@dimen/small_gap" android:paddingTop="@dimen/small_gap" android:textColor="@color/secondaryDarkColor" @@ -149,8 +165,8 @@