Search in sources :

Example 1 with Options

use of com.nutomic.syncthingandroid.model.Options in project syncthing-android by syncthing.

the class MainActivity method showUsageReportingDialog.

/**
 * Displays dialog asking user to accept/deny usage reporting.
 */
private void showUsageReportingDialog() {
    final DialogInterface.OnClickListener listener = (dialog, which) -> {
        Options options = getApi().getOptions();
        switch(which) {
            case DialogInterface.BUTTON_POSITIVE:
                getApi().getSystemInfo(systemInfo -> {
                    options.urAccepted = systemInfo.urVersionMax;
                });
                break;
            case DialogInterface.BUTTON_NEGATIVE:
                options.urAccepted = Options.USAGE_REPORTING_DENIED;
                break;
            case DialogInterface.BUTTON_NEUTRAL:
                Uri uri = Uri.parse("https://data.syncthing.net");
                startActivity(new Intent(Intent.ACTION_VIEW, uri));
                break;
        }
        getApi().editSettings(getApi().getGui(), options, this);
    };
    getApi().getUsageReport(report -> {
        @SuppressLint("InflateParams") View v = LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog_usage_reporting, null);
        TextView tv = v.findViewById(R.id.example);
        tv.setText(report);
        new AlertDialog.Builder(MainActivity.this).setTitle(R.string.usage_reporting_dialog_title).setView(v).setPositiveButton(R.string.yes, listener).setNegativeButton(R.string.no, listener).setNeutralButton(R.string.open_website, listener).show();
    });
}
Also used : Bundle(android.os.Bundle) PackageManager(android.content.pm.PackageManager) Date(java.util.Date) Util(com.nutomic.syncthingandroid.util.Util) Uri(android.net.Uri) ImageView(android.widget.ImageView) IBinder(android.os.IBinder) PowerManager(android.os.PowerManager) SyncthingService(com.nutomic.syncthingandroid.service.SyncthingService) FragmentPagerAdapter(android.support.v4.app.FragmentPagerAdapter) Consumer(com.annimon.stream.function.Consumer) SyncthingApp(com.nutomic.syncthingandroid.SyncthingApp) View(android.view.View) Log(android.util.Log) Fragment(android.support.v4.app.Fragment) BitmapDrawable(android.graphics.drawable.BitmapDrawable) Math.min(java.lang.Math.min) DisplayMetrics(android.util.DisplayMetrics) ViewGroup(android.view.ViewGroup) AlertDialog(android.app.AlertDialog) TextView(android.widget.TextView) ActivityNotFoundException(android.content.ActivityNotFoundException) DeviceListFragment(com.nutomic.syncthingandroid.fragments.DeviceListFragment) Context(android.content.Context) KeyEvent(android.view.KeyEvent) FolderListFragment(com.nutomic.syncthingandroid.fragments.FolderListFragment) ViewPager(android.support.v4.view.ViewPager) Dialog(android.app.Dialog) Intent(android.content.Intent) Options(com.nutomic.syncthingandroid.model.Options) MenuItem(android.view.MenuItem) TabLayout(android.support.design.widget.TabLayout) GravityCompat(android.support.v4.view.GravityCompat) Inject(javax.inject.Inject) SuppressLint(android.annotation.SuppressLint) Toast(android.widget.Toast) Settings(android.provider.Settings) Build(android.os.Build) ActionBar(android.support.v7.app.ActionBar) DrawerLayout(android.support.v4.widget.DrawerLayout) DrawerFragment(com.nutomic.syncthingandroid.fragments.DrawerFragment) DialogInterface(android.content.DialogInterface) ComponentName(android.content.ComponentName) LayoutInflater(android.view.LayoutInflater) R(com.nutomic.syncthingandroid.R) TimeUnit(java.util.concurrent.TimeUnit) FragmentManager(android.support.v4.app.FragmentManager) SharedPreferences(android.content.SharedPreferences) TypedValue(android.util.TypedValue) Bitmap(android.graphics.Bitmap) Configuration(android.content.res.Configuration) Activity(android.app.Activity) ActionBarDrawerToggle(android.support.v7.app.ActionBarDrawerToggle) Options(com.nutomic.syncthingandroid.model.Options) DialogInterface(android.content.DialogInterface) SuppressLint(android.annotation.SuppressLint) Intent(android.content.Intent) TextView(android.widget.TextView) Uri(android.net.Uri) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView)

Example 2 with Options

use of com.nutomic.syncthingandroid.model.Options in project syncthing-android by syncthing.

the class RestApi method setUsageReporting.

public void setUsageReporting(Boolean acceptUsageReporting) {
    Options options = getOptions();
    if (options == null) {
        Log.e(TAG, "setUsageReporting called while options == null");
        return;
    }
    options.urAccepted = acceptUsageReporting ? mUrVersionMax : Options.USAGE_REPORTING_DENIED;
    synchronized (mConfigLock) {
        mConfig.options = options;
    }
}
Also used : Options(com.nutomic.syncthingandroid.model.Options)

Aggregations

SuppressLint (android.annotation.SuppressLint)1 Activity (android.app.Activity)1 AlertDialog (android.app.AlertDialog)1 Dialog (android.app.Dialog)1 ActivityNotFoundException (android.content.ActivityNotFoundException)1 ComponentName (android.content.ComponentName)1 Context (android.content.Context)1 DialogInterface (android.content.DialogInterface)1 Intent (android.content.Intent)1 SharedPreferences (android.content.SharedPreferences)1 PackageManager (android.content.pm.PackageManager)1 Configuration (android.content.res.Configuration)1 Bitmap (android.graphics.Bitmap)1 BitmapDrawable (android.graphics.drawable.BitmapDrawable)1 Uri (android.net.Uri)1 Build (android.os.Build)1 Bundle (android.os.Bundle)1 IBinder (android.os.IBinder)1 PowerManager (android.os.PowerManager)1 Settings (android.provider.Settings)1