1
0
mirror of https://github.com/nerzhul/ownCloud-SMS-App.git synced 2025-06-08 16:36:10 +00:00

Update gradle version

This commit is contained in:
Loic Blot 2016-10-22 17:27:20 +02:00
parent a4f016f069
commit 6f26634744
5 changed files with 50 additions and 40 deletions

View File

@ -3,7 +3,7 @@ buildscript {
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:2.2.0' classpath 'com.android.tools.build:gradle:2.2.1'
} }
} }

View File

@ -17,6 +17,7 @@ package fr.unix_experience.owncloud_sms.activities;
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
import android.Manifest;
import android.accounts.Account; import android.accounts.Account;
import android.accounts.AccountManager; import android.accounts.AccountManager;
import android.content.ContentResolver; import android.content.ContentResolver;
@ -27,26 +28,29 @@ import android.util.Log;
import java.util.List; import java.util.List;
import fr.unix_experience.owncloud_sms.activities.virtual.VirtualSettingsActivity;
import fr.unix_experience.owncloud_sms.R; import fr.unix_experience.owncloud_sms.R;
import fr.unix_experience.owncloud_sms.activities.virtual.VirtualSettingsActivity;
import fr.unix_experience.owncloud_sms.defines.DefaultPrefs; import fr.unix_experience.owncloud_sms.defines.DefaultPrefs;
import fr.unix_experience.owncloud_sms.prefs.OCSMSSharedPrefs; import fr.unix_experience.owncloud_sms.prefs.OCSMSSharedPrefs;
import fr.unix_experience.owncloud_sms.prefs.PermissionChecker;
import static fr.unix_experience.owncloud_sms.enums.PermissionID.REQUEST_ACCOUNTS;
public class OCSMSSettingsActivity extends VirtualSettingsActivity { public class OCSMSSettingsActivity extends VirtualSettingsActivity {
private static final String TAG = OCSMSSettingsActivity.class.getSimpleName(); private static final String TAG = OCSMSSettingsActivity.class.getSimpleName();
private static AccountManager _accountMgr; private static AccountManager _accountMgr;
private static String _accountAuthority; private static String _accountAuthority;
private static String _accountType; private static String _accountType;
@Override @Override
protected void onPostCreate(Bundle savedInstanceState) { protected void onPostCreate(Bundle savedInstanceState) {
OCSMSSettingsActivity._accountMgr = AccountManager.get(getBaseContext()); OCSMSSettingsActivity._accountMgr = AccountManager.get(getBaseContext());
OCSMSSettingsActivity._accountAuthority = getString(R.string.account_authority); OCSMSSettingsActivity._accountAuthority = getString(R.string.account_authority);
OCSMSSettingsActivity._accountType = getString(R.string.account_type); OCSMSSettingsActivity._accountType = getString(R.string.account_type);
VirtualSettingsActivity._prefsRessourceFile = R.xml.pref_data_sync; VirtualSettingsActivity._prefsRessourceFile = R.xml.pref_data_sync;
// Bind our boolean preferences // Bind our boolean preferences
VirtualSettingsActivity._boolPrefs.add(new BindObjectPref("push_on_receive", DefaultPrefs.pushOnReceive)); VirtualSettingsActivity._boolPrefs.add(new BindObjectPref("push_on_receive", DefaultPrefs.pushOnReceive));
VirtualSettingsActivity._boolPrefs.add(new BindObjectPref("sync_wifi", DefaultPrefs.syncWifi)); VirtualSettingsActivity._boolPrefs.add(new BindObjectPref("sync_wifi", DefaultPrefs.syncWifi));
VirtualSettingsActivity._boolPrefs.add(new BindObjectPref("sync_4g", DefaultPrefs.sync4G)); VirtualSettingsActivity._boolPrefs.add(new BindObjectPref("sync_4g", DefaultPrefs.sync4G));
@ -55,46 +59,52 @@ public class OCSMSSettingsActivity extends VirtualSettingsActivity {
VirtualSettingsActivity._boolPrefs.add(new BindObjectPref("sync_2g", DefaultPrefs.sync2G)); VirtualSettingsActivity._boolPrefs.add(new BindObjectPref("sync_2g", DefaultPrefs.sync2G));
VirtualSettingsActivity._boolPrefs.add(new BindObjectPref("sync_others", DefaultPrefs.syncOthers)); VirtualSettingsActivity._boolPrefs.add(new BindObjectPref("sync_others", DefaultPrefs.syncOthers));
// Bind our string preferences // Bind our string preferences
VirtualSettingsActivity._stringPrefs.add(new BindObjectPref("sync_frequency", "15")); VirtualSettingsActivity._stringPrefs.add(new BindObjectPref("sync_frequency", "15"));
VirtualSettingsActivity._stringPrefs.add(new BindObjectPref("sync_bulk_messages", "-1")); VirtualSettingsActivity._stringPrefs.add(new BindObjectPref("sync_bulk_messages", "-1"));
//VirtualSettingsActivity._stringPrefs.add(new BindObjectPref("minimum_sync_chars", "0"));
// Must be at the end, after preference bind // Must be at the end, after preference bind
super.onPostCreate(savedInstanceState); super.onPostCreate(savedInstanceState);
} }
protected void handleCheckboxPreference(String key, Boolean value) { protected void handleCheckboxPreference(String key, Boolean value) {
// Network types allowed for sync // Network types allowed for sync
if("push_on_receive".equals(key) || if ("push_on_receive".equals(key) ||
"sync_wifi".equals(key) || "sync_2g".equals(key) || "sync_wifi".equals(key) || "sync_2g".equals(key) ||
"sync_3g".equals(key) || "sync_gprs".equals(key) || "sync_3g".equals(key) || "sync_gprs".equals(key) ||
"sync_4g".equals(key) || "sync_others".equals(key)) { "sync_4g".equals(key) || "sync_others".equals(key)) {
OCSMSSharedPrefs prefs = new OCSMSSharedPrefs(VirtualSettingsActivity._context); OCSMSSharedPrefs prefs = new OCSMSSharedPrefs(VirtualSettingsActivity._context);
Log.i(OCSMSSettingsActivity.TAG,"OCSMSSettingsActivity.handleCheckboxPreference: set " + key + " to " Log.i(OCSMSSettingsActivity.TAG, "OCSMSSettingsActivity.handleCheckboxPreference: set " + key + " to "
+ value.toString()); + value.toString());
prefs.putBoolean(key, value); prefs.putBoolean(key, value);
} }
} }
protected void handleListPreference(String key, String value, protected void handleListPreference(String key, String value,
ListPreference preference) { ListPreference preference) {
// For list preferences, look up the correct display value in // For list preferences, look up the correct display value in
// the preference's 'entries' list. // the preference's 'entries' list.
int index = preference.findIndexOfValue(value); int index = preference.findIndexOfValue(value);
// Set the summary to reflect the new value. // Set the summary to reflect the new value.
preference preference
.setSummary((index >= 0) ? preference.getEntries()[index] .setSummary((index >= 0) ? preference.getEntries()[index]
: null); : null);
Log.i(OCSMSSettingsActivity.TAG, "Modifying listPreference " + key); Log.i(OCSMSSettingsActivity.TAG, "Modifying listPreference " + key);
OCSMSSharedPrefs prefs = new OCSMSSharedPrefs(VirtualSettingsActivity._context); OCSMSSharedPrefs prefs = new OCSMSSharedPrefs(VirtualSettingsActivity._context);
// Handle sync frequency change // Handle sync frequency change
if ("sync_frequency".equals(key)) { if ("sync_frequency".equals(key)) {
Account[] myAccountList = OCSMSSettingsActivity._accountMgr.getAccountsByType(OCSMSSettingsActivity._accountType); if (!PermissionChecker.checkPermission(this, Manifest.permission.GET_ACCOUNTS,
long syncFreq = Long.parseLong(value); REQUEST_ACCOUNTS)) {
return;
}
Account[] myAccountList = OCSMSSettingsActivity._accountMgr.getAccountsByType(OCSMSSettingsActivity._accountType);
long syncFreq = Long.parseLong(value);
// Get ownCloud SMS account list // Get ownCloud SMS account list
for (Account acct: myAccountList) { for (Account acct: myAccountList) {
@ -121,7 +131,7 @@ public class OCSMSSettingsActivity extends VirtualSettingsActivity {
prefs.putLong(key, syncFreq); prefs.putLong(key, syncFreq);
} }
} }
else if ("sync_bulk_messages".equals(key)) { else if ("sync_bulk_messages".equals(key) || "minimum_sync_chars".equals(key)) {
prefs.putInteger(key, Integer.parseInt(value)); prefs.putInteger(key, Integer.parseInt(value));
} }
} }

View File

@ -126,7 +126,6 @@ public class ContactListActivity extends AppCompatActivity implements ASyncConta
} }
private void fetchContact(String name) { private void fetchContact(String name) {
if (!PermissionChecker.checkPermission(this, Manifest.permission.READ_CONTACTS, if (!PermissionChecker.checkPermission(this, Manifest.permission.READ_CONTACTS,
REQUEST_CONTACTS)) { REQUEST_CONTACTS)) {
return; return;

View File

@ -28,5 +28,6 @@ package fr.unix_experience.owncloud_sms.enums;
public enum PermissionID { public enum PermissionID {
REQUEST_SMS, REQUEST_SMS,
REQUEST_CONTACTS, REQUEST_CONTACTS,
REQUEST_ACCOUNTS,
REQUEST_MAX, REQUEST_MAX,
} }

View File

@ -39,8 +39,8 @@ import fr.unix_experience.owncloud_sms.enums.PermissionID;
import fr.unix_experience.owncloud_sms.notifications.OCSMSNotificationUI; import fr.unix_experience.owncloud_sms.notifications.OCSMSNotificationUI;
public class PermissionChecker { public class PermissionChecker {
public static boolean checkPermission(final Context context, final String permissionName, public static boolean checkPermission(Context context, final String permissionName,
final PermissionID permissionId) { final PermissionID permissionId) {
int hasWriteContactsPermission = ContextCompat.checkSelfPermission(context, permissionName); int hasWriteContactsPermission = ContextCompat.checkSelfPermission(context, permissionName);
if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED) { if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED) {
// Check if we only have a context or a full activity // Check if we only have a context or a full activity
@ -53,7 +53,7 @@ public class PermissionChecker {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
ActivityCompat.requestPermissions(activity, ActivityCompat.requestPermissions(activity,
new String[]{permissionName}, permissionId.ordinal()); new String[]{ permissionName }, permissionId.ordinal());
} }
}); });
return false; return false;