From 4bedaeaf21e11d57ee75964d6d03d432a7eb325d Mon Sep 17 00:00:00 2001 From: Josephine Lim Date: Thu, 9 Mar 2017 18:27:17 +1000 Subject: [PATCH 01/27] Add beta testing --- app/src/main/AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1ae84b242..cc7e8b958 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ + android:versionCode="65" + android:versionName="2.0.2 beta" > From 22cbd41f491bd8124fbdcc91ac28edb33eb78da0 Mon Sep 17 00:00:00 2001 From: maskara Date: Fri, 10 Mar 2017 10:23:44 +0530 Subject: [PATCH 02/27] Fixes #417: Open mobile view of Commons --- app/src/main/java/fr/free/nrw/commons/CommonsApplication.java | 1 + app/src/main/java/fr/free/nrw/commons/Media.java | 4 ++++ .../fr/free/nrw/commons/media/MediaDetailPagerFragment.java | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) 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 44bdf0336..916ea38cd 100644 --- a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java +++ b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java @@ -59,6 +59,7 @@ public class CommonsApplication extends Application { public static final String API_URL = "https://commons.wikimedia.org/w/api.php"; public static final String IMAGE_URL_BASE = "https://upload.wikimedia.org/wikipedia/commons"; public static final String HOME_URL = "https://commons.wikimedia.org/wiki/"; + public static final String MOBILE_HOME_URL = "https://commons.m.wikimedia.org/wiki/"; public static final String EVENTLOG_URL = "https://www.wikimedia.org/beacon/event"; public static final String EVENTLOG_WIKI = "commonswiki"; 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 366844a27..924427cef 100644 --- a/app/src/main/java/fr/free/nrw/commons/Media.java +++ b/app/src/main/java/fr/free/nrw/commons/Media.java @@ -61,6 +61,10 @@ public class Media implements Parcelable { return CommonsApplication.HOME_URL + "File:" + Utils.urlEncode(getFilename().replace("File:", "").replace(" ", "_")); } + public String getMobileDescriptionUrl() { + return CommonsApplication.MOBILE_HOME_URL + "File:" + Utils.urlEncode(getFilename().replace("File:", "").replace(" ", "_")); + } + public Uri getLocalUri() { return localUri; } diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index ffe93edc6..9adbdb882 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -143,7 +143,7 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa // View in browser Intent viewIntent = new Intent(); viewIntent.setAction(Intent.ACTION_VIEW); - viewIntent.setData(Uri.parse(m.getDescriptionUrl())); + viewIntent.setData(Uri.parse(m.getMobileDescriptionUrl())); startActivity(viewIntent); return true; case R.id.menu_download_current_image: From 5c49caab60db00c1a4c645c921edc9f3918f8a45 Mon Sep 17 00:00:00 2001 From: Josephine Lim Date: Fri, 10 Mar 2017 18:42:41 +1000 Subject: [PATCH 03/27] Update changelog.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a92b105d..4f8d41864 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Wikimedia Commons for Android +##v2.0.2 (beta) +- Make "View in browser" direct to mobile website + ##v2.0.1 - Disabled minify again (reenabling test failed) - Hotfix for ShareAction bug From bb1a13452f8c050afeb86566f3576febe86d0669 Mon Sep 17 00:00:00 2001 From: Josephine Lim Date: Fri, 10 Mar 2017 18:45:05 +1000 Subject: [PATCH 04/27] Manifest should probably not display beta --- app/src/main/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cc7e8b958..031793773 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ + android:versionName="2.0.2" > From da3895342b51459918fbbde6d0ec21c1bdce6c29 Mon Sep 17 00:00:00 2001 From: maskara Date: Fri, 10 Mar 2017 23:24:18 +0530 Subject: [PATCH 05/27] Fix lint issue: Missing permission --- .../commons/auth/AuthenticatedActivity.java | 37 ++++++++++++++----- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/auth/AuthenticatedActivity.java b/app/src/main/java/fr/free/nrw/commons/auth/AuthenticatedActivity.java index 2726c38b3..f5eccf6fb 100644 --- a/app/src/main/java/fr/free/nrw/commons/auth/AuthenticatedActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/auth/AuthenticatedActivity.java @@ -1,12 +1,16 @@ package fr.free.nrw.commons.auth; +import android.Manifest; import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.AccountManagerFuture; import android.accounts.AuthenticatorException; import android.accounts.OperationCanceledException; +import android.content.pm.PackageManager; import android.os.AsyncTask; import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v4.app.ActivityCompat; import android.support.v7.app.AppCompatActivity; import java.io.IOException; @@ -20,23 +24,24 @@ public abstract class AuthenticatedActivity extends AppCompatActivity { CommonsApplication app; private String authCookie; - + public AuthenticatedActivity(String accountType) { - this.accountType = accountType; + this.accountType = accountType; } - + private class GetAuthCookieTask extends AsyncTask { private Account account; private AccountManager accountManager; + public GetAuthCookieTask(Account account, AccountManager accountManager) { this.account = account; this.accountManager = accountManager; } - + @Override protected void onPostExecute(String result) { super.onPostExecute(result); - if(result != null) { + if (result != null) { authCookie = result; onAuthCookieAcquired(result); } else { @@ -60,19 +65,19 @@ public abstract class AuthenticatedActivity extends AppCompatActivity { } } } - + private class AddAccountTask extends AsyncTask { private AccountManager accountManager; + public AddAccountTask(AccountManager accountManager) { this.accountManager = accountManager; } - + @Override protected void onPostExecute(String result) { super.onPostExecute(result); - if(result != null) { - Account[] allAccounts =accountManager.getAccountsByType(accountType); - Account curAccount = allAccounts[0]; + if (result != null) { + Account curAccount = getCurrentAccount(); GetAuthCookieTask getCookieTask = new GetAuthCookieTask(curAccount, accountManager); getCookieTask.execute(); } else { @@ -80,6 +85,18 @@ public abstract class AuthenticatedActivity extends AppCompatActivity { } } + @Nullable + private Account getCurrentAccount() { + if (ActivityCompat.checkSelfPermission(AuthenticatedActivity.this, Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED) { + return null; + } + Account[] allAccounts = accountManager.getAccountsByType(accountType); + if (allAccounts == null) { + return null; + } + return allAccounts[0]; + } + @Override protected String doInBackground(Void... params) { AccountManagerFuture resultFuture = accountManager.addAccount(accountType, null, null, null, AuthenticatedActivity.this, null, null); From 6df9ee272f4d7d48dd92a5c7bd8ccbd266f2188a Mon Sep 17 00:00:00 2001 From: maskara Date: Fri, 10 Mar 2017 23:28:00 +0530 Subject: [PATCH 06/27] Fix lint issue: ScrollView size validation --- app/src/main/res/layout/activity_login.xml | 2 +- app/src/main/res/layout/fragment_media_detail.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 5f3837f85..aeda37b39 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -6,7 +6,7 @@