Android Open Source - digital-ocean-swimmer Account Service From Project Back to project page digital-ocean-swimmer .
License The source code is released under:
MIT License
If you think the Android project digital-ocean-swimmer 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 com.yassirh.digitalocean.service;
/ * w w w . j a v a 2 s . c o m * /
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
import org.apache.http.Header;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.yassirh.digitalocean.data.AccountDao;
import com.yassirh.digitalocean.data.DatabaseHelper;
import com.yassirh.digitalocean.data.DomainDao;
import com.yassirh.digitalocean.data.DropletDao;
import com.yassirh.digitalocean.data.ImageDao;
import com.yassirh.digitalocean.data.RegionDao;
import com.yassirh.digitalocean.data.SSHKeyDao;
import com.yassirh.digitalocean.data.SizeDao;
import com.yassirh.digitalocean.model.Account;
import com.yassirh.digitalocean.utils.ApiHelper;
import com.yassirh.digitalocean.utils.PreferencesHelper;
public class AccountService {
private Context context;
public AccountService(Context context) {
this.context = context;
}
public void getNewToken() {
final Account currentAccount = ApiHelper.getCurrentAccount(context);
if (currentAccount == null){
return ;
}
AsyncHttpClient client = new AsyncHttpClient();
client.get(String.format(Locale.US, "https://yassirh.com/digitalocean_swimmer/generate_refresh_token.php?refresh_token=%s" , currentAccount.getRefreshToken()), new AsyncHttpResponseHandler(){
@Override
public void onSuccess(int statusCode, Header[] headers, byte [] responseBody) {
try {
Calendar expiresIn = Calendar.getInstance();
JSONObject jsonObject = new JSONObject(new String(responseBody));
expiresIn.add(Calendar.SECOND, Integer.parseInt(jsonObject.getString("expires_in" )));
currentAccount.setExpiresIn(expiresIn.getTime());
currentAccount.setRefreshToken(jsonObject.getString("refresh_token" ));
currentAccount.setToken(jsonObject.getString("access_token" ));
AccountDao accountDao = new AccountDao(DatabaseHelper.getInstance(context));
accountDao.createOrUpdate(currentAccount);
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte [] responseBody, Throwable error) {
if (statusCode == 401){
ApiHelper.showAccessDenied();
}
}
});
}
public boolean hasAccounts() {
AccountDao accountDao = new AccountDao(DatabaseHelper.getInstance(context));
List<Account> accounts = accountDao.getAll(null);
return accounts.size() > 0;
}
public void clearData() {
DatabaseHelper databaseHelper = DatabaseHelper.getInstance(context);
new AccountDao(databaseHelper).deleteAll();
new DropletDao(databaseHelper).deleteAll();
new DomainDao(databaseHelper).deleteAll();
new ImageDao(databaseHelper).deleteAll();
new SSHKeyDao(databaseHelper).deleteAll();
new RegionDao(databaseHelper).deleteAll();
new SizeDao(databaseHelper).deleteAll();
PreferencesHelper.clearAll(context);
}
}
Java Source Code List android.support.v4.preference.PreferenceFragment.java android.support.v4.preference.PreferenceManagerCompat.java com.yassirh.digitalocean.data.AccountDao.java com.yassirh.digitalocean.data.AccountTable.java com.yassirh.digitalocean.data.DatabaseHelper.java com.yassirh.digitalocean.data.DomainDao.java com.yassirh.digitalocean.data.DomainTable.java com.yassirh.digitalocean.data.DropletDao.java com.yassirh.digitalocean.data.DropletTable.java com.yassirh.digitalocean.data.ImageDao.java com.yassirh.digitalocean.data.ImageTable.java com.yassirh.digitalocean.data.NetworkDao.java com.yassirh.digitalocean.data.NetworkTable.java com.yassirh.digitalocean.data.RecordDao.java com.yassirh.digitalocean.data.RecordTable.java com.yassirh.digitalocean.data.RegionDao.java com.yassirh.digitalocean.data.RegionTable.java com.yassirh.digitalocean.data.SSHKeyDao.java com.yassirh.digitalocean.data.SSHKeyTable.java com.yassirh.digitalocean.data.SizeDao.java com.yassirh.digitalocean.data.SizeTable.java com.yassirh.digitalocean.data.SqlDao.java com.yassirh.digitalocean.data.TableHelper.java com.yassirh.digitalocean.model.Account.java com.yassirh.digitalocean.model.Action.java com.yassirh.digitalocean.model.Domain.java com.yassirh.digitalocean.model.Droplet.java com.yassirh.digitalocean.model.Image.java com.yassirh.digitalocean.model.Network.java com.yassirh.digitalocean.model.Record.java com.yassirh.digitalocean.model.Region.java com.yassirh.digitalocean.model.SSHKey.java com.yassirh.digitalocean.model.Size.java com.yassirh.digitalocean.service.AccountService.java com.yassirh.digitalocean.service.ActionService.java com.yassirh.digitalocean.service.DomainService.java com.yassirh.digitalocean.service.DropletService.java com.yassirh.digitalocean.service.ImageService.java com.yassirh.digitalocean.service.NotificationsIndexes.java com.yassirh.digitalocean.service.RecordService.java com.yassirh.digitalocean.service.RegionService.java com.yassirh.digitalocean.service.SSHKeyService.java com.yassirh.digitalocean.service.SizeService.java com.yassirh.digitalocean.ui.AccountAdapter.java com.yassirh.digitalocean.ui.AddAccountActivity.java com.yassirh.digitalocean.ui.DomainAdapter.java com.yassirh.digitalocean.ui.DomainDetailsDialogFragment.java com.yassirh.digitalocean.ui.DomainsFragment.java com.yassirh.digitalocean.ui.DrawerPositions.java com.yassirh.digitalocean.ui.DropletAdapter.java com.yassirh.digitalocean.ui.DropletDetailsDialogFragment.java com.yassirh.digitalocean.ui.DropletResizeDialogFragment.java com.yassirh.digitalocean.ui.DropletsFragment.java com.yassirh.digitalocean.ui.ImageAdapter.java com.yassirh.digitalocean.ui.ImagesFragment.java com.yassirh.digitalocean.ui.MainActivity.java com.yassirh.digitalocean.ui.NavigationDrawerAdapter.java com.yassirh.digitalocean.ui.NewDropletActivity.java com.yassirh.digitalocean.ui.PrefsFragment.java com.yassirh.digitalocean.ui.RecordAdapter.java com.yassirh.digitalocean.ui.RecordCreateDialogFragment.java com.yassirh.digitalocean.ui.RecordTypeAdapter.java com.yassirh.digitalocean.ui.RegionAdapter.java com.yassirh.digitalocean.ui.RegionsFragment.java com.yassirh.digitalocean.ui.SSHKeyAdapter.java com.yassirh.digitalocean.ui.SSHKeyCreateDialogFragment.java com.yassirh.digitalocean.ui.SSHKeyFragment.java com.yassirh.digitalocean.ui.SettingsActivity.java com.yassirh.digitalocean.ui.SizeAdapter.java com.yassirh.digitalocean.ui.SizesFragment.java com.yassirh.digitalocean.ui.SwitchAccountDialogFragment.java com.yassirh.digitalocean.ui.Updatable.java com.yassirh.digitalocean.ui.widget.MultiSelectSpinner.java com.yassirh.digitalocean.utils.ApiHelper.java com.yassirh.digitalocean.utils.AppRater.java com.yassirh.digitalocean.utils.MyApplication.java com.yassirh.digitalocean.utils.MyBroadcastReceiver.java com.yassirh.digitalocean.utils.PreferencesHelper.java