diff --git a/build.gradle b/build.gradle index 57cd9aac0c8a..5045f3b3f81b 100644 --- a/build.gradle +++ b/build.gradle @@ -35,15 +35,15 @@ dependencies { android { - compileSdkVersion 18 - buildToolsVersion "18.0.1" + compileSdkVersion 19 + buildToolsVersion "19" defaultConfig { packageName "org.wordpress.android" - versionName "2.5" - versionCode 83 + versionName "2.5.1" + versionCode 84 minSdkVersion 9 - targetSdkVersion 18 + targetSdkVersion 19 } sourceSets { diff --git a/src/org/wordpress/android/WordPress.java b/src/org/wordpress/android/WordPress.java index b54351c061b0..2b9df6a18565 100644 --- a/src/org/wordpress/android/WordPress.java +++ b/src/org/wordpress/android/WordPress.java @@ -405,6 +405,11 @@ public void authenticate(WPRestClient.Request request) { // get the access token from api key field token = blog.getApi_key(); + // valid oauth tokens are 64 chars + if (token != null && token.length() < 64 && !blog.isDotcomFlag()) { + token = null; + } + // if there is no access token, but this is the dotcom flag if (token == null && (blog.isDotcomFlag() && blog.getUsername().equals(settings.getString(WPCOM_USERNAME_PREFERENCE, "")))) { diff --git a/src/org/wordpress/android/models/Blog.java b/src/org/wordpress/android/models/Blog.java index 85a1dcb78fc0..a0e29d79647d 100644 --- a/src/org/wordpress/android/models/Blog.java +++ b/src/org/wordpress/android/models/Blog.java @@ -395,4 +395,16 @@ public boolean isPhotonCapable() { public boolean hasValidJetpackCredentials() { return !TextUtils.isEmpty(getDotcom_username()) && !TextUtils.isEmpty(getDotcom_password()); } + + /** + * Get the WordPress.com blog ID + * Stored in blogId for WP.com, api_blogId for Jetpack + * @return WP.com blogId string, potentially null for Jetpack sites + */ + public String getDotComBlogId() { + if (isDotcomFlag()) + return String.valueOf(getBlogId()); + else + return getApi_blogid(); + } } diff --git a/src/org/wordpress/android/ui/stats/StatsAbsViewFragment.java b/src/org/wordpress/android/ui/stats/StatsAbsViewFragment.java index 7e505c61bdbf..68d586e4c13b 100644 --- a/src/org/wordpress/android/ui/stats/StatsAbsViewFragment.java +++ b/src/org/wordpress/android/ui/stats/StatsAbsViewFragment.java @@ -68,11 +68,4 @@ protected StatsViewType getViewType() { } public abstract String getTitle(); - - protected String getCurrentBlogId() { - if (WordPress.getCurrentBlog() != null) - return String.valueOf(WordPress.getCurrentBlog().getBlogId()); - return null; - } - } diff --git a/src/org/wordpress/android/ui/stats/StatsActivity.java b/src/org/wordpress/android/ui/stats/StatsActivity.java index e114175812e1..a8a564178120 100644 --- a/src/org/wordpress/android/ui/stats/StatsActivity.java +++ b/src/org/wordpress/android/ui/stats/StatsActivity.java @@ -1,5 +1,9 @@ package org.wordpress.android.ui.stats; +import java.lang.ref.WeakReference; +import java.util.HashMap; +import java.util.Map; + import android.app.AlertDialog; import android.app.Dialog; import android.content.BroadcastReceiver; @@ -12,20 +16,15 @@ import android.net.Uri; import android.os.Bundle; import android.preference.PreferenceManager; -import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v4.content.LocalBroadcastManager; import android.util.Log; import android.view.Display; -import android.view.View; -import android.view.View.OnClickListener; import android.widget.FrameLayout; import android.widget.LinearLayout; -import android.widget.TextView; import android.widget.Toast; -import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; @@ -33,6 +32,10 @@ import org.json.JSONException; import org.json.JSONObject; +import org.xmlrpc.android.ApiHelper; +import org.xmlrpc.android.XMLRPCCallback; +import org.xmlrpc.android.XMLRPCClient; +import org.xmlrpc.android.XMLRPCException; import org.wordpress.android.R; import org.wordpress.android.WordPress; @@ -42,14 +45,6 @@ import org.wordpress.android.ui.WPActionBarActivity; import org.wordpress.android.util.StatsRestHelper; import org.wordpress.android.util.Utils; -import org.xmlrpc.android.ApiHelper; -import org.xmlrpc.android.XMLRPCCallback; -import org.xmlrpc.android.XMLRPCClient; -import org.xmlrpc.android.XMLRPCException; - -import java.lang.ref.WeakReference; -import java.util.HashMap; -import java.util.Map; /** * The native stats activity, accessible via the menu drawer. diff --git a/src/org/wordpress/android/ui/stats/StatsCursorFragment.java b/src/org/wordpress/android/ui/stats/StatsCursorFragment.java index 0a8a8797b4dd..264ccc684915 100644 --- a/src/org/wordpress/android/ui/stats/StatsCursorFragment.java +++ b/src/org/wordpress/android/ui/stats/StatsCursorFragment.java @@ -12,6 +12,7 @@ import android.support.v4.content.Loader; import android.support.v4.widget.CursorAdapter; import android.text.Html; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -128,7 +129,8 @@ public Loader onCreateLoader(int id, Bundle args) { if (WordPress.getCurrentBlog() == null) return null; - String blogId = String.valueOf(WordPress.getCurrentBlog().getBlogId()); + String blogId = WordPress.getCurrentBlog().getDotComBlogId(); + if (TextUtils.isEmpty(blogId)) blogId = "0"; CursorLoader cursorLoader = new CursorLoader(getActivity(), getUri(), null, "blogId=?", new String[] { blogId }, null); return cursorLoader; } diff --git a/src/org/wordpress/android/ui/stats/StatsCursorTreeFragment.java b/src/org/wordpress/android/ui/stats/StatsCursorTreeFragment.java index cfbec95caafe..fe7b4f7f1857 100644 --- a/src/org/wordpress/android/ui/stats/StatsCursorTreeFragment.java +++ b/src/org/wordpress/android/ui/stats/StatsCursorTreeFragment.java @@ -12,6 +12,7 @@ import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.text.Html; +import android.text.TextUtils; import android.util.SparseBooleanArray; import android.view.LayoutInflater; import android.view.View; @@ -153,7 +154,8 @@ public Loader onCreateLoader(int id, Bundle args) { if (WordPress.getCurrentBlog() == null) return null; - String blogId = String.valueOf(WordPress.getCurrentBlog().getBlogId()); + String blogId = WordPress.getCurrentBlog().getDotComBlogId(); + if (TextUtils.isEmpty(blogId)) blogId = "0"; Uri uri = getGroupUri(); diff --git a/src/org/wordpress/android/ui/stats/StatsTotalsFollowersAndSharesFragment.java b/src/org/wordpress/android/ui/stats/StatsTotalsFollowersAndSharesFragment.java index 29bc67443d9e..6096b9d83edb 100644 --- a/src/org/wordpress/android/ui/stats/StatsTotalsFollowersAndSharesFragment.java +++ b/src/org/wordpress/android/ui/stats/StatsTotalsFollowersAndSharesFragment.java @@ -11,6 +11,7 @@ import android.os.Bundle; import android.support.v4.content.LocalBroadcastManager; import android.text.Html; +import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.view.LayoutInflater; import android.view.View; @@ -85,13 +86,17 @@ public void onResume() { private void refreshSummary() { if (WordPress.getCurrentBlog() == null) return; - - final String blogId = String.valueOf(WordPress.getCurrentBlog().getBlogId()); + + String blogId = WordPress.getCurrentBlog().getDotComBlogId(); + if (TextUtils.isEmpty(blogId)) + blogId = "0"; + + final String statsBlogId = blogId; new AsyncTask() { @Override protected StatsSummary doInBackground(Void... params) { - return StatUtils.getSummary(blogId); + return StatUtils.getSummary(statsBlogId); } protected void onPostExecute(final StatsSummary result) { diff --git a/src/org/wordpress/android/ui/stats/StatsVisitorsAndViewsFragment.java b/src/org/wordpress/android/ui/stats/StatsVisitorsAndViewsFragment.java index 69b7a3fd1537..e91514116a2e 100644 --- a/src/org/wordpress/android/ui/stats/StatsVisitorsAndViewsFragment.java +++ b/src/org/wordpress/android/ui/stats/StatsVisitorsAndViewsFragment.java @@ -20,6 +20,7 @@ import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.support.v4.content.LocalBroadcastManager; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -237,8 +238,9 @@ public void onActivityCreated(Bundle savedInstanceState) { public Loader onCreateLoader(int id, Bundle args) { if (WordPress.getCurrentBlog() == null) return null; - - String blogId = String.valueOf(WordPress.getCurrentBlog().getBlogId()); + + String blogId = WordPress.getCurrentBlog().getDotComBlogId(); + if (TextUtils.isEmpty(blogId)) blogId = "0"; StatsBarChartUnit unit = getBarChartUnit(); return new CursorLoader(getActivity(), getUri(), null, "blogId=? AND unit=?", new String[] { blogId, unit.name() }, null); }