Read user_status from api on sync

pull/14/head
Sam Bosley 14 years ago
parent 4581501063
commit 4a043862b7

@ -527,6 +527,12 @@ public class ActFmLoginActivity extends FragmentActivity implements AuthListener
result.optLong("id"));
Preferences.setString(ActFmPreferenceService.PREF_NAME,
result.optString("name"));
Preferences.setString(ActFmPreferenceService.PREF_FIRST_NAME,
result.optString("first_name"));
Preferences.setString(ActFmPreferenceService.PREF_LAST_NAME,
result.optString("last_name"));
Preferences.setBoolean(ActFmPreferenceService.PREF_PREMIUM,
result.optBoolean("premium"));
Preferences.setString(ActFmPreferenceService.PREF_EMAIL,
result.optString("email"));
Preferences.setString(ActFmPreferenceService.PREF_PICTURE,

@ -63,6 +63,15 @@ public class ActFmPreferenceService extends SyncProviderUtilities {
/** Act.fm current user name */
public static final String PREF_NAME = IDENTIFIER + "_name"; //$NON-NLS-1$
/** Act.fm current user first name */
public static final String PREF_FIRST_NAME = IDENTIFIER + "_first_name"; //$NON-NLS-1$
/** Act.fm current user last name */
public static final String PREF_LAST_NAME = IDENTIFIER + "_last_name"; //$NON-NLS-1$
/** Act.fm current user premium status */
public static final String PREF_PREMIUM = IDENTIFIER + "_premium"; //$NON-NLS-1$
/** Act.fm current user picture */
public static final String PREF_PICTURE = IDENTIFIER + "_picture"; //$NON-NLS-1$
@ -115,6 +124,9 @@ public class ActFmPreferenceService extends SyncProviderUtilities {
user = new JSONObject();
try {
user.put("name", Preferences.getStringValue(PREF_NAME));
user.put("first_name", Preferences.getStringValue(PREF_FIRST_NAME));
user.put("last_name", Preferences.getStringValue(PREF_LAST_NAME));
user.put("premium", Preferences.getBoolean(PREF_PREMIUM, false));
user.put("email", Preferences.getStringValue(PREF_EMAIL));
user.put("picture", Preferences.getStringValue(PREF_PICTURE));
user.put("id", Preferences.getLong(PREF_USER_ID, 0));
@ -125,6 +137,10 @@ public class ActFmPreferenceService extends SyncProviderUtilities {
return user;
}
public boolean isPremiumUser() {
return Preferences.getBoolean(PREF_PREMIUM, false);
}
@Override
public String getLoggedInUserName() {
return Preferences.getStringValue(PREF_NAME);

@ -10,6 +10,7 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import org.json.JSONException;
import org.json.JSONObject;
import com.timsu.astrid.C2DMReceiver;
import com.timsu.astrid.R;
@ -123,7 +124,7 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
final AtomicInteger finisher = new AtomicInteger(3);
actFmPreferenceService.recordSyncStart();
updateUserStatus();
startUsersFetcher(callback, finisher);
@ -137,6 +138,30 @@ public class ActFmSyncV2Provider extends SyncV2Provider {
}).start();
}
/** fetch user status hash*/
@SuppressWarnings("nls")
private void updateUserStatus() {
try {
JSONObject status = actFmSyncService.invoke("user_status"); //$NON-NLS-1$
if (status.has("id"))
Preferences.setLong(ActFmPreferenceService.PREF_USER_ID, status.optLong("id"));
if (status.has("name"))
Preferences.setString(ActFmPreferenceService.PREF_NAME, status.optString("name"));
if (status.has("first_name"))
Preferences.setString(ActFmPreferenceService.PREF_FIRST_NAME, status.optString("first_name"));
if (status.has("last_name"))
Preferences.setString(ActFmPreferenceService.PREF_LAST_NAME, status.optString("first_name"));
if (status.has("premium"))
Preferences.setBoolean(ActFmPreferenceService.PREF_PREMIUM, status.optBoolean("premium"));
if (status.has("email"))
Preferences.setString(ActFmPreferenceService.PREF_EMAIL, status.optString("email"));
if (status.has("picture"))
Preferences.setString(ActFmPreferenceService.PREF_PICTURE, status.optString("picture"));
} catch (IOException e) {
handler.handleException("actfm-sync", e, e.toString()); //$NON-NLS-1$
}
}
/** fetch changes to users/friends */
private void startUsersFetcher(final SyncResultCallback callback,
final AtomicInteger finisher) {

Loading…
Cancel
Save