Android Open Source - AndroidShoppingList Account Utils






From Project

Back to project page AndroidShoppingList.

License

The source code is released under:

Apache License

If you think the Android project AndroidShoppingList listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/**
 * Copyright 2012 C. A. Fitzgerald//from  ww  w.  j a v  a  2s  .c  o m
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */

package com.github.riotopsys.shoppinglist.utils;

import java.io.IOException;

import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AuthenticatorException;
import android.accounts.OperationCanceledException;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.preference.PreferenceManager;

import com.github.riotopsys.shoppinglist.AppKeys;

public class AccountUtils {

  @SuppressWarnings("unused")
  private static final String TAG = AccountUtils.class.getSimpleName();
  private static String mToken;

  public String getAccountName(Context ctx) {
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);
    return prefs.getString(AppKeys.PREFS_ACCOUNT_KEY, null);
  }

  public Account getAccount(Context ctx) {
    String target = getAccountName(ctx);
    if (target == null) {
      return null;
    }
    AccountManager am = AccountManager.get(ctx);
    Account[] accounts = am.getAccountsByType(AppKeys.ACCOUNT_TYPE);
    for (Account accout : accounts) {
      if (target.equals(accout.name)) {
        return accout;
      }
    }
    return null;
  }

  public String getToken(Context ctx) throws OperationCanceledException, AuthenticatorException, IOException {
    if (mToken != null) {
      return mToken;
    }

    AccountManager am = AccountManager.get(ctx);
    Account account = getAccount(ctx);

    if (account == null) {
      return null;
    }

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);
    mToken = prefs.getString(AppKeys.PREFS_TOKEN_KEY, null);
    if (mToken == null) {
      mToken = am.blockingGetAuthToken(account, AppKeys.OAUTH2_SCOPE, true);
      Editor edit = prefs.edit();
      edit.putString(AppKeys.PREFS_TOKEN_KEY, mToken);
      edit.commit();
    }
    return mToken;
  }

  public void setAccountName(Context ctx, String account) {
    Editor editor = PreferenceManager.getDefaultSharedPreferences(ctx).edit();
    editor.putString(AppKeys.PREFS_ACCOUNT_KEY, account);
    editor.commit();
  }

  public void setToken(Context ctx, String token) {
    Editor editor = PreferenceManager.getDefaultSharedPreferences(ctx).edit();
    editor.putString(AppKeys.PREFS_TOKEN_KEY, token);
    editor.commit();
  }

  public static void invalidate(Context ctx) {
    Editor edit = PreferenceManager.getDefaultSharedPreferences(ctx).edit();
    edit.remove(AppKeys.PREFS_TOKEN_KEY);
    edit.commit();
    mToken = null;
  }

}




Java Source Code List

com.github.riotopsys.shoppinglist.AppKeys.java
com.github.riotopsys.shoppinglist.GCMIntentService.java
com.github.riotopsys.shoppinglist.IConfigurations.java
com.github.riotopsys.shoppinglist.activity.ListItemEdit.java
com.github.riotopsys.shoppinglist.activity.ShoppingListPreview.java
com.github.riotopsys.shoppinglist.adapter.ShoppingListAdapter.java
com.github.riotopsys.shoppinglist.adapter.ShoppingListCollectionAdapter.java
com.github.riotopsys.shoppinglist.comparator.ListItemNameComparator.java
com.github.riotopsys.shoppinglist.comparator.ListNameComparator.java
com.github.riotopsys.shoppinglist.fragment.ShoppingListFragment.java
com.github.riotopsys.shoppinglist.listener.CheckedChangeListener.java
com.github.riotopsys.shoppinglist.model.DatabaseHelper.java
com.github.riotopsys.shoppinglist.model.DigestRecord.java
com.github.riotopsys.shoppinglist.model.PersistedRecord.java
com.github.riotopsys.shoppinglist.model.ShoppingListCollection.java
com.github.riotopsys.shoppinglist.model.ShoppingListItem.java
com.github.riotopsys.shoppinglist.model.ShoppingList.java
com.github.riotopsys.shoppinglist.model.Work.java
com.github.riotopsys.shoppinglist.server.DigestCollection.java
com.github.riotopsys.shoppinglist.server.RestHelper.java
com.github.riotopsys.shoppinglist.server.RestResult.java
com.github.riotopsys.shoppinglist.server.ServerInterfaceService.java
com.github.riotopsys.shoppinglist.server.ServerTask.java
com.github.riotopsys.shoppinglist.server.UrlBuilder.java
com.github.riotopsys.shoppinglist.server.work.Operations.java
com.github.riotopsys.shoppinglist.server.work.WorkQueue.java
com.github.riotopsys.shoppinglist.utils.AccountUtils.java