1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-11-30 21:22:26 -05:00
k-9/src/com/fsck/k9/helper/AutoSyncSdk4.java

42 lines
1.4 KiB
Java
Raw Normal View History

2010-10-03 07:08:42 -04:00
package com.fsck.k9.helper;
import java.lang.reflect.Method;
import com.fsck.k9.K9;
import android.content.ContentResolver;
import android.content.Context;
import android.util.Log;
public class AutoSyncSdk4 implements IAutoSync {
2010-10-03 07:08:42 -04:00
private Method mGetListenForNetworkTickles;
private Object mContentService;
public void initialize(Context context) throws NoSuchMethodException {
2010-10-03 07:08:42 -04:00
/*
* There's no documented/official way to query the state of the
* auto-sync setting for a normal application in SDK 1.6/API 4.
2010-05-11 22:51:59 -04:00
*
2010-10-03 07:08:42 -04:00
* We use reflection to get an ContentService object, so we can call its
* getListenForNetworkTickles() method. This will return the current
* auto-sync state.
*/
try {
2010-10-03 07:08:42 -04:00
Method getContentService = ContentResolver.class.getMethod("getContentService");
mContentService = getContentService.invoke(null);
mGetListenForNetworkTickles = mContentService.getClass().getMethod("getListenForNetworkTickles");
} catch (Exception e) {
2010-10-03 07:08:42 -04:00
throw new NoSuchMethodException();
}
}
public boolean getMasterSyncAutomatically() {
try {
2010-10-03 07:08:42 -04:00
return (Boolean) mGetListenForNetworkTickles.invoke(mContentService);
} catch (Exception e) {
2010-10-03 07:08:42 -04:00
Log.e(K9.LOG_TAG, "Could not query for network tickle", e);
return true;
}
}
}