/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.picasa.sync;
import android.accounts.AccountManager;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import com.galaxy.meetup.client.util.AccountsUtil;
/**
*
* @author sihai
*
*/
public class PicasaFacade {
private static PicasaFacade sInstance;
private Uri mAlbumCoversUri;
private Uri mAlbumsUri;
private String mAuthority;
private final Context mContext;
private PicasaSyncInfo mLocalInfo;
private PicasaSyncInfo mMasterInfo;
private Uri mPhotosUri;
private Uri mPostAlbumsUri;
private Uri mPostPhotosUri;
private Uri mSettingsUri;
private Uri mSyncRequestUri;
private Uri mUsersUri;
private PicasaFacade(Context context) {
mContext = context.getApplicationContext();
PackageManager packagemanager = mContext.getPackageManager();
ComponentName componentname = new ComponentName(mContext, PicasaContentProvider.class);
if(packagemanager.getComponentEnabledSetting(componentname) != 0)
packagemanager.setComponentEnabledSetting(componentname, 0, 1);
ComponentName componentname1 = new ComponentName(mContext, PicasaSyncService.class);
if(packagemanager.getComponentEnabledSetting(componentname1) != 0)
packagemanager.setComponentEnabledSetting(componentname1, 0, 1);
updatePicasaSyncInfo(true);
}
public static synchronized PicasaFacade get(Context context) {
PicasaFacade sync;
if(sInstance == null)
sInstance = new PicasaFacade(context);
sync = sInstance;
return sync;
}
private synchronized void updatePicasaSyncInfo(boolean flag) {
// TODO
}
private void updateSyncableState(boolean flag)
{
PackageManager packagemanager = mContext.getPackageManager();
int i;
ComponentName componentname;
ComponentName componentname1;
String s;
AccountManager accountmanager;
if(flag)
i = 1;
else
i = 2;
componentname = new ComponentName(mContext, ConnectivityReceiver.class);
if(packagemanager.getComponentEnabledSetting(componentname) != i)
packagemanager.setComponentEnabledSetting(componentname, i, 1);
componentname1 = new ComponentName(mContext, BatteryReceiver.class);
if(packagemanager.getComponentEnabledSetting(componentname1) != i)
packagemanager.setComponentEnabledSetting(componentname1, i, 1);
s = mLocalInfo.authority;
accountmanager = AccountManager.get(mContext);
if(flag)
{
android.accounts.Account aaccount1[] = accountmanager.getAccountsByType(AccountsUtil.ACCOUNT_TYPE);
int l = aaccount1.length;
for(int i1 = 0; i1 < l; i1++)
{
android.accounts.Account account1 = aaccount1[i1];
if(ContentResolver.getIsSyncable(account1, s) == 0)
{
ContentResolver.setIsSyncable(account1, s, -1);
ContentResolver.requestSync(account1, s, new Bundle());
}
}
} else
{
android.accounts.Account aaccount[] = accountmanager.getAccountsByType(AccountsUtil.ACCOUNT_TYPE);
int j = aaccount.length;
for(int k = 0; k < j; k++)
{
android.accounts.Account account = aaccount[k];
ContentResolver.setIsSyncable(account, s, 0);
ContentResolver.cancelSync(account, s);
}
}
}
public final Uri getAlbumsUri()
{
return mAlbumsUri;
}
public final String getAuthority()
{
return mAuthority;
}
public final PicasaSyncInfo getMasterInfo()
{
return mMasterInfo;
}
public final Uri getPhotoUri(long l)
{
return mPhotosUri.buildUpon().appendPath(String.valueOf(l)).build();
}
public final Uri getPhotosUri()
{
return mPhotosUri;
}
public final Uri getSettingsUri()
{
return mSettingsUri;
}
public final Uri getSyncRequestUri()
{
return mSyncRequestUri;
}
public final Uri getUsersUri()
{
return mUsersUri;
}
public final boolean isMaster()
{
boolean flag;
if(mMasterInfo == mLocalInfo)
flag = true;
else
flag = false;
return flag;
}
public final void onMediaMounted()
{
PicasaSyncManager.get(mContext).updateTasks(0L);
}
public final void onPackageAdded$552c4e01()
{
updatePicasaSyncInfo(false);
}
public final void onPackageRemoved$552c4e01()
{
updatePicasaSyncInfo(false);
}
static final class PicasaSyncInfo {
public final String authority;
public boolean enableDownSync;
public final String packageName;
public final int priority;
public PicasaSyncInfo(String s, String s1, int i, boolean flag) {
packageName = s;
authority = s1;
priority = i;
enableDownSync = flag;
}
}
}