Android Open Source - saostar Accounts From Project Back to project page saostar .
License The source code is released under:
Apache License
If you think the Android project saostar 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 package net.azyobuzi.azyotter.saostar.configuration;
/ * f r o m w w w . j a v a 2 s . c o m * /
import java.util.ArrayList;
import net.azyobuzi.azyotter.saostar.ContextAccess;
import net.azyobuzi.azyotter.saostar.StringUtil;
import net.azyobuzi.azyotter.saostar.linq.Enumerable;
import net.azyobuzi.azyotter.saostar.services.TimelineReceiveService;
import net.azyobuzi.azyotter.saostar.system.Action;
import net.azyobuzi.azyotter.saostar.system.Func2;
import android.content.SharedPreferences.Editor;
public class Accounts {
private static ArrayList<Account> list = null;
private static final Object lockObj = new Object();
private static void loadAccounts() { //synchronized?????????
list = new ArrayList<Account>();
String[] accountsStr = ContextAccess.getDefaultSharedPreferences().getString("twitterAccounts" , "" ).split("," );
for (String id : accountsStr) {
if (!StringUtil.isNullOrEmpty(id)) {
Account re = new Account(Long.valueOf(id));
list.add(re);
TimelineReceiveService.addAccount(re);
}
}
}
public static Enumerable<Account> getAllAccounts() {
synchronized (lockObj) {
if (list == null) loadAccounts();
return Enumerable.from(list.toArray()).cast();
}
}
public static Account get(final long id) {
return getAllAccounts().where(new Func2<Account, Integer , Boolean>() {
@Override
public Boolean invoke(Account arg0, Integer arg1) {
return arg0.getId() == id;
}
}).firstOrDefault(null);
}
public static int getAccountsCount() {
synchronized (lockObj) {
if (list == null) loadAccounts();
return list.size();
}
}
public static void add(final Account newAccount) {
synchronized (lockObj) {
if (list == null) loadAccounts();
list.add(newAccount);
for (Action handler : accountsChangedHandler) {
handler.invoke();
}
save();
TimelineReceiveService.addAccount(newAccount);
}
}
public static void remove(final Account account) {
synchronized (lockObj) {
if (list == null) loadAccounts();
TimelineReceiveService.removeAccount(account);
list.remove(account);
for (Action handler : accountsChangedHandler) {
handler.invoke();
}
save();
}
}
public static void move(final int from, final int to) {
synchronized (lockObj) {
if (list == null) loadAccounts();
Account account = list.remove(from);
list.add(to, account);
for (Action handler : accountsChangedHandler) {
handler.invoke();
}
save();
}
}
public static int indexOf(long id) {
Account a = get(id);
synchronized (lockObj) {
return list.indexOf(a);
}
}
public static final ArrayList<Action> accountsChangedHandler = new ArrayList<Action>();
public static void save() {
ContextAccess.getDefaultSharedPreferences().edit().putString("twitterAccounts" , StringUtil.join("," ,
getAllAccounts().select(new Func2<Account, Integer , CharSequence>() {
@Override
public CharSequence invoke(Account arg0, Integer arg1) {
return String.valueOf(arg0.getId());
}
})
))
.apply();
}
public static Account getSelectedAccount() {
long selectedId = ContextAccess.getDefaultSharedPreferences().getLong("selectedAccount" , -1);
Account re = get(selectedId);
if (re == null) {
re = getAllAccounts().firstOrDefault(null);
}
return re;
}
public static void setSelectedAccount(Account value) {
Editor ed = ContextAccess.getDefaultSharedPreferences().edit();
ed.putLong("selectedAccount" , value != null ? value.getId() : 0);
ed.apply();
for (Action handler : selectedAccountChangedHandler) {
handler.invoke();
}
}
public static final ArrayList<Action> selectedAccountChangedHandler = new ArrayList<Action>();
}
Java Source Code List jp.ne.hatena.d.shogo0809.widget.SortableListView.java net.azyobuzi.azyotter.saostar.ActivityUtil.java net.azyobuzi.azyotter.saostar.ContextAccess.java net.azyobuzi.azyotter.saostar.NotificationCenter.java net.azyobuzi.azyotter.saostar.SaostarApplication.java net.azyobuzi.azyotter.saostar.StringUtil.java net.azyobuzi.azyotter.saostar.Twitter4JFactories.java net.azyobuzi.azyotter.saostar.TwitterUriGenerator.java net.azyobuzi.azyotter.saostar.activities.AccountPreferenceActivity.java net.azyobuzi.azyotter.saostar.activities.AccountPreferenceFragment.java net.azyobuzi.azyotter.saostar.activities.AccountsActivity.java net.azyobuzi.azyotter.saostar.activities.AccountsFragment.java net.azyobuzi.azyotter.saostar.activities.ExpandLinkActivity.java net.azyobuzi.azyotter.saostar.activities.LoginActivity.java net.azyobuzi.azyotter.saostar.activities.MainActivity.java net.azyobuzi.azyotter.saostar.activities.RetryActivity.java net.azyobuzi.azyotter.saostar.activities.SettingActivity.java net.azyobuzi.azyotter.saostar.activities.SettingFragment.java net.azyobuzi.azyotter.saostar.activities.TabFilterSettingFragment.java net.azyobuzi.azyotter.saostar.activities.TabGeneralSettingFragment.java net.azyobuzi.azyotter.saostar.activities.TabPreferenceActivity.java net.azyobuzi.azyotter.saostar.activities.TabsActivity.java net.azyobuzi.azyotter.saostar.activities.TabsFragment.java net.azyobuzi.azyotter.saostar.activities.TimelineTabFragment.java net.azyobuzi.azyotter.saostar.activities.TweetDetailActivity.java net.azyobuzi.azyotter.saostar.activities.TwitterUriHookActivity.java net.azyobuzi.azyotter.saostar.activities.UpdateStatusActivity.java net.azyobuzi.azyotter.saostar.configuration.Account.java net.azyobuzi.azyotter.saostar.configuration.Accounts.java net.azyobuzi.azyotter.saostar.configuration.Command.java net.azyobuzi.azyotter.saostar.configuration.Setting.java net.azyobuzi.azyotter.saostar.configuration.Tab.java net.azyobuzi.azyotter.saostar.configuration.Tabs.java net.azyobuzi.azyotter.saostar.d_aqa.Constant.java net.azyobuzi.azyotter.saostar.d_aqa.FunctionFactory.java net.azyobuzi.azyotter.saostar.d_aqa.Function.java net.azyobuzi.azyotter.saostar.d_aqa.Invokable.java net.azyobuzi.azyotter.saostar.d_aqa.OperatorFactory.java net.azyobuzi.azyotter.saostar.d_aqa.Operator.java net.azyobuzi.azyotter.saostar.d_aqa.PropertyFactory.java net.azyobuzi.azyotter.saostar.d_aqa.Property.java net.azyobuzi.azyotter.saostar.d_aqa.Reader.java net.azyobuzi.azyotter.saostar.d_aqa.operators.EqualityOperator.java net.azyobuzi.azyotter.saostar.d_aqa.operators.GreaterThanOperator.java net.azyobuzi.azyotter.saostar.d_aqa.operators.GreaterThanOrEqualOperator.java net.azyobuzi.azyotter.saostar.d_aqa.operators.InequalityOperator.java net.azyobuzi.azyotter.saostar.d_aqa.operators.LessThanOperator.java net.azyobuzi.azyotter.saostar.d_aqa.operators.LessThanOrEqualOperator.java net.azyobuzi.azyotter.saostar.d_aqa.properties.CreatedAtProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.FromCreatedAtProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.FromIdProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.FromNameProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.FromProtectedProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.FromScreenNameProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.FromVerifiedProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.IdProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.InReplyToProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.IsHomeTweetProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.OriginalTextProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.RetweetedCreatedAtProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.RetweetedIdProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.RetweetedProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.RetweetedSourceProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.RetweetedUserCreatedAtProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.RetweetedUserIdProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.RetweetedUserNameProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.RetweetedUserScreenNameProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.RetweetedUserVerifiedProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.SourceProperty.java net.azyobuzi.azyotter.saostar.d_aqa.properties.TextProperty.java net.azyobuzi.azyotter.saostar.linq.Enumerable.java net.azyobuzi.azyotter.saostar.linq.Enumerator.java net.azyobuzi.azyotter.saostar.services.FavoriteService.java net.azyobuzi.azyotter.saostar.services.RetweetService.java net.azyobuzi.azyotter.saostar.services.TimelineReceiveService.java net.azyobuzi.azyotter.saostar.services.UpdateStatusService.java net.azyobuzi.azyotter.saostar.system.Action1.java net.azyobuzi.azyotter.saostar.system.Action2.java net.azyobuzi.azyotter.saostar.system.Action3.java net.azyobuzi.azyotter.saostar.system.Action.java net.azyobuzi.azyotter.saostar.system.Func1.java net.azyobuzi.azyotter.saostar.system.Func2.java net.azyobuzi.azyotter.saostar.system.Func.java net.azyobuzi.azyotter.saostar.timeline_data.TimelineItemCollection.java net.azyobuzi.azyotter.saostar.timeline_data.TimelineItemId.java net.azyobuzi.azyotter.saostar.timeline_data.TimelineItem.java net.azyobuzi.azyotter.saostar.timeline_data.TweetEntities.java net.azyobuzi.azyotter.saostar.timeline_data.UserCollection.java net.azyobuzi.azyotter.saostar.timeline_data.UserInfo.java net.azyobuzi.azyotter.saostar.widget.AccountSelector.java net.azyobuzi.azyotter.saostar.widget.CustomizedUrlImageView.java