diff --git a/src/androidTest/java/com/nutomic/syncthingandroid/test/util/DevicesAdapterTest.java b/src/androidTest/java/com/nutomic/syncthingandroid/test/util/DevicesAdapterTest.java index 8ae84a5a..9137e883 100644 --- a/src/androidTest/java/com/nutomic/syncthingandroid/test/util/DevicesAdapterTest.java +++ b/src/androidTest/java/com/nutomic/syncthingandroid/test/util/DevicesAdapterTest.java @@ -57,8 +57,8 @@ public class DevicesAdapterTest extends AndroidTestCase { assertEquals(getContext().getString(R.string.device_up_to_date), ((TextView) v.findViewById(R.id.status)).getText().toString()); - assertEquals("1 Mb/s", ((TextView) v.findViewById(R.id.download)).getText().toString()); - assertEquals("1 Gb/s", ((TextView) v.findViewById(R.id.upload)).getText().toString()); + assertEquals("1 Mib/s", ((TextView) v.findViewById(R.id.download)).getText().toString()); + assertEquals("1 Gib/s", ((TextView) v.findViewById(R.id.upload)).getText().toString()); } } diff --git a/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceSettingsFragment.java b/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceSettingsFragment.java index ec2527c5..0a8f73a7 100644 --- a/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceSettingsFragment.java +++ b/src/main/java/com/nutomic/syncthingandroid/fragments/DeviceSettingsFragment.java @@ -11,6 +11,7 @@ import android.preference.EditTextPreference; import android.preference.ListPreference; import android.preference.Preference; import android.support.v4.preference.PreferenceFragment; +import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -36,6 +37,8 @@ public class DeviceSettingsFragment extends PreferenceFragment implements public static final String EXTRA_NODE_ID = "device_id"; + private static final String TAG = "DeviceSettingsFragment"; + private static final int SCAN_QR_REQUEST_CODE = 235; private SyncthingService mSyncthingService; @@ -93,7 +96,8 @@ public class DeviceSettingsFragment extends PreferenceFragment implements if (mIsCreate) { if (savedInstanceState != null) { mDevice = (RestApi.Device) savedInstanceState.getSerializable("device"); - } else { + } + if (mDevice == null) { mDevice = new RestApi.Device(); mDevice.Name = ""; mDevice.DeviceID = ""; @@ -131,17 +135,25 @@ public class DeviceSettingsFragment extends PreferenceFragment implements if (mIsCreate) { getActivity().setTitle(R.string.add_device); } else { + RestApi.Device device = null; getActivity().setTitle(R.string.edit_device); List devices = mSyncthingService.getApi().getDevices(false); for (int i = 0; i < devices.size(); i++) { if (devices.get(i).DeviceID.equals( getActivity().getIntent().getStringExtra(EXTRA_NODE_ID))) { - mDevice = devices.get(i); + device = devices.get(i); break; } } + if (device == null) { + Log.w(TAG, "Device not found in API update"); + getActivity().finish(); + return; + } + mDevice = device; mDeviceId.setOnPreferenceClickListener(this); } + mSyncthingService.getApi().getConnections(DeviceSettingsFragment.this); mDeviceId.setSummary(mDevice.DeviceID); diff --git a/src/main/java/com/nutomic/syncthingandroid/fragments/FolderSettingsFragment.java b/src/main/java/com/nutomic/syncthingandroid/fragments/FolderSettingsFragment.java index afa1329f..ce7ed458 100644 --- a/src/main/java/com/nutomic/syncthingandroid/fragments/FolderSettingsFragment.java +++ b/src/main/java/com/nutomic/syncthingandroid/fragments/FolderSettingsFragment.java @@ -10,6 +10,7 @@ import android.preference.EditTextPreference; import android.preference.Preference; import android.preference.PreferenceScreen; import android.support.v4.preference.PreferenceFragment; +import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -43,6 +44,8 @@ public class FolderSettingsFragment extends PreferenceFragment */ public static final String EXTRA_REPO_ID = "folder_id"; + private static final String TAG = "FolderSettingsFragment"; + private static final String KEY_NODE_SHARED = "device_shared"; private SyncthingService mSyncthingService; @@ -98,7 +101,8 @@ public class FolderSettingsFragment extends PreferenceFragment if (mIsCreate) { if (savedInstanceState != null) { mFolder = (RestApi.Folder) savedInstanceState.getSerializable("folder"); - } else { + } + if (mFolder == null) { mFolder = new RestApi.Folder(); mFolder.ID = ""; mFolder.Path = ""; @@ -131,15 +135,22 @@ public class FolderSettingsFragment extends PreferenceFragment if (mIsCreate) { getActivity().setTitle(R.string.create_folder); } else { + RestApi.Folder folder = null; getActivity().setTitle(R.string.edit_folder); List folders = mSyncthingService.getApi().getFolders(); for (int i = 0; i < folders.size(); i++) { if (folders.get(i).ID.equals( getActivity().getIntent().getStringExtra(EXTRA_REPO_ID))) { - mFolder = folders.get(i); + folder = folders.get(i); break; } } + if (folder == null) { + Log.w(TAG, "Folder not found in API update"); + getActivity().finish(); + return; + } + mFolder = folder; } mFolderId.setText(mFolder.ID);