diff --git a/app/lint.xml b/app/lint.xml index 5cc6467a..032a641d 100644 --- a/app/lint.xml +++ b/app/lint.xml @@ -68,4 +68,12 @@ + + + + + + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 54aedc12..87c5ba7a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -133,6 +133,7 @@ android:value=".activities.MainActivity" /> = Build.VERSION_CODES.LOLLIPOP) { + toolbar.setTouchscreenBlocksFocus(false); + } + syncthingActivity.setSupportActionBar(toolbar); + syncthingActivity.getSupportActionBar().setDisplayHomeAsUpEnabled(true); + } catch (Exception e) { + /** + * The above code has been verified working but due to known bugs in the + * support library on different Android versions better be safe in case + * it breaks. + */ + Log.e(TAG, "onPreferenceTreeClick", e); + } + } + return false; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + if (mCurrentPrefScreenDialog == null) { + // User is on the top preferences screen. + getActivity().onBackPressed(); + } else { + // User is on a sub-preferences screen. + mCurrentPrefScreenDialog.dismiss(); + mCurrentPrefScreenDialog = null; + } + return true; + } + return super.onOptionsItemSelected(item); + } + public void setService(SyncthingService syncthingService) { mSyncthingService = syncthingService; } diff --git a/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncthingActivity.java b/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncthingActivity.java index 83e19503..98e5b713 100644 --- a/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncthingActivity.java +++ b/app/src/main/java/com/nutomic/syncthingandroid/activities/SyncthingActivity.java @@ -4,6 +4,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; +import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.support.v7.app.AppCompatActivity; @@ -43,6 +44,9 @@ public abstract class SyncthingActivity extends AppCompatActivity implements Ser return; } toolbar.setNavigationContentDescription(R.string.main_menu); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + toolbar.setTouchscreenBlocksFocus(false); + } setSupportActionBar(toolbar); //noinspection ConstantConditions diff --git a/app/src/main/java/com/nutomic/syncthingandroid/util/Util.java b/app/src/main/java/com/nutomic/syncthingandroid/util/Util.java index 06cda012..0fba09bb 100644 --- a/app/src/main/java/com/nutomic/syncthingandroid/util/Util.java +++ b/app/src/main/java/com/nutomic/syncthingandroid/util/Util.java @@ -2,11 +2,13 @@ package com.nutomic.syncthingandroid.util; import android.app.Activity; import android.app.Dialog; +import android.app.UiModeManager; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.Configuration; import android.os.Build; import android.preference.PreferenceManager; import android.text.TextUtils; @@ -329,4 +331,9 @@ public class Util { } return false; } + + public static Boolean isRunningOnTV(Context context) { + UiModeManager uiModeManager = (UiModeManager) context.getSystemService(Context.UI_MODE_SERVICE); + return uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION; + } } diff --git a/app/src/main/res/color/btn_welcome_slide_color.xml b/app/src/main/res/color/btn_welcome_slide_color.xml new file mode 100644 index 00000000..87c83457 --- /dev/null +++ b/app/src/main/res/color/btn_welcome_slide_color.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/app/src/main/res/drawable-hdpi/ic_device_add_black_24.png b/app/src/main/res/drawable-hdpi/ic_device_add_black_24.png new file mode 100644 index 00000000..134e02e8 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_device_add_black_24.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_device_add_white_24.png b/app/src/main/res/drawable-hdpi/ic_device_add_white_24.png new file mode 100644 index 00000000..8ebee509 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_device_add_white_24.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_file_edit_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_file_edit_black_24dp.png index 3bfaa9e2..9ea077f9 100644 Binary files a/app/src/main/res/drawable-hdpi/ic_file_edit_black_24dp.png and b/app/src/main/res/drawable-hdpi/ic_file_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_folder_edit_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_folder_edit_black_24dp.png index 0cd74ce0..4a899480 100644 Binary files a/app/src/main/res/drawable-hdpi/ic_folder_edit_black_24dp.png and b/app/src/main/res/drawable-hdpi/ic_folder_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_phonelink_white_24.png b/app/src/main/res/drawable-hdpi/ic_phonelink_white_24.png new file mode 100644 index 00000000..7a715866 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_phonelink_white_24.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_syncthing_logo_black.png b/app/src/main/res/drawable-hdpi/ic_syncthing_logo_black.png new file mode 100644 index 00000000..18e6cf0f Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_syncthing_logo_black.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_device_add_black_24.png b/app/src/main/res/drawable-ldpi/ic_device_add_black_24.png new file mode 100644 index 00000000..c8207e65 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_device_add_black_24.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_device_add_white_24.png b/app/src/main/res/drawable-ldpi/ic_device_add_white_24.png new file mode 100644 index 00000000..a372e9f1 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_device_add_white_24.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_file_edit_black_24dp.png b/app/src/main/res/drawable-ldpi/ic_file_edit_black_24dp.png index c1b706e7..30f0a4b1 100644 Binary files a/app/src/main/res/drawable-ldpi/ic_file_edit_black_24dp.png and b/app/src/main/res/drawable-ldpi/ic_file_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_folder_edit_black_24dp.png b/app/src/main/res/drawable-ldpi/ic_folder_edit_black_24dp.png index abea0c4a..cf63a9b3 100644 Binary files a/app/src/main/res/drawable-ldpi/ic_folder_edit_black_24dp.png and b/app/src/main/res/drawable-ldpi/ic_folder_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_syncthing_logo_black.png b/app/src/main/res/drawable-ldpi/ic_syncthing_logo_black.png new file mode 100644 index 00000000..26284147 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_syncthing_logo_black.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_device_add_black_24.png b/app/src/main/res/drawable-mdpi/ic_device_add_black_24.png new file mode 100644 index 00000000..2aec1c25 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_device_add_black_24.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_device_add_white_24.png b/app/src/main/res/drawable-mdpi/ic_device_add_white_24.png new file mode 100644 index 00000000..b4f4ddc6 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_device_add_white_24.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_file_edit_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_file_edit_black_24dp.png index 663e19a6..c575d931 100644 Binary files a/app/src/main/res/drawable-mdpi/ic_file_edit_black_24dp.png and b/app/src/main/res/drawable-mdpi/ic_file_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_folder_edit_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_folder_edit_black_24dp.png index 14f1e65f..b9f57124 100644 Binary files a/app/src/main/res/drawable-mdpi/ic_folder_edit_black_24dp.png and b/app/src/main/res/drawable-mdpi/ic_folder_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_phonelink_white_24.png b/app/src/main/res/drawable-mdpi/ic_phonelink_white_24.png new file mode 100644 index 00000000..13cb912a Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_phonelink_white_24.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_syncthing_logo_black.png b/app/src/main/res/drawable-mdpi/ic_syncthing_logo_black.png new file mode 100644 index 00000000..166c45e9 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_syncthing_logo_black.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_device_add_black_24.png b/app/src/main/res/drawable-xhdpi/ic_device_add_black_24.png new file mode 100644 index 00000000..99961b05 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_device_add_black_24.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_device_add_white_24.png b/app/src/main/res/drawable-xhdpi/ic_device_add_white_24.png new file mode 100644 index 00000000..9619de49 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_device_add_white_24.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_file_edit_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_file_edit_black_24dp.png index 95a30c0f..9b3b5a19 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_file_edit_black_24dp.png and b/app/src/main/res/drawable-xhdpi/ic_file_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_folder_edit_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_folder_edit_black_24dp.png index b6fa419e..edcb9b43 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_folder_edit_black_24dp.png and b/app/src/main/res/drawable-xhdpi/ic_folder_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_phonelink_white_24.png b/app/src/main/res/drawable-xhdpi/ic_phonelink_white_24.png new file mode 100644 index 00000000..aaec447d Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_phonelink_white_24.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_syncthing_logo_black.png b/app/src/main/res/drawable-xhdpi/ic_syncthing_logo_black.png new file mode 100644 index 00000000..eb55a2aa Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_syncthing_logo_black.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_device_add_black_24.png b/app/src/main/res/drawable-xxhdpi/ic_device_add_black_24.png new file mode 100644 index 00000000..dfece8f7 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_device_add_black_24.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_device_add_white_24.png b/app/src/main/res/drawable-xxhdpi/ic_device_add_white_24.png new file mode 100644 index 00000000..32b7ff74 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_device_add_white_24.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_file_edit_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_file_edit_black_24dp.png index 3bd5cc77..2aa4e30b 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_file_edit_black_24dp.png and b/app/src/main/res/drawable-xxhdpi/ic_file_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_folder_edit_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_folder_edit_black_24dp.png index 1bd5b004..5ec4bb08 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_folder_edit_black_24dp.png and b/app/src/main/res/drawable-xxhdpi/ic_folder_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_phonelink_white_24.png b/app/src/main/res/drawable-xxhdpi/ic_phonelink_white_24.png new file mode 100644 index 00000000..4babdc29 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_phonelink_white_24.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_syncthing_logo_black.png b/app/src/main/res/drawable-xxhdpi/ic_syncthing_logo_black.png new file mode 100644 index 00000000..d19545a2 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_syncthing_logo_black.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_device_add_black_24.png b/app/src/main/res/drawable-xxxhdpi/ic_device_add_black_24.png new file mode 100644 index 00000000..2726ccff Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_device_add_black_24.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_device_add_white_24.png b/app/src/main/res/drawable-xxxhdpi/ic_device_add_white_24.png new file mode 100644 index 00000000..a2d3d3e6 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_device_add_white_24.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_file_edit_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_file_edit_black_24dp.png index 32bca46e..86be9a3f 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_file_edit_black_24dp.png and b/app/src/main/res/drawable-xxxhdpi/ic_file_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_folder_edit_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_folder_edit_black_24dp.png index 2c85a310..89298604 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_folder_edit_black_24dp.png and b/app/src/main/res/drawable-xxxhdpi/ic_folder_edit_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_phonelink_white_24.png b/app/src/main/res/drawable-xxxhdpi/ic_phonelink_white_24.png new file mode 100644 index 00000000..ad46ead8 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_phonelink_white_24.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_syncthing_logo_black.png b/app/src/main/res/drawable-xxxhdpi/ic_syncthing_logo_black.png new file mode 100644 index 00000000..958fcc44 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_syncthing_logo_black.png differ diff --git a/app/src/main/res/drawable/btn_add_device.xml b/app/src/main/res/drawable/btn_add_device.xml new file mode 100644 index 00000000..bfcbc681 --- /dev/null +++ b/app/src/main/res/drawable/btn_add_device.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/app/src/main/res/drawable/btn_add_folder.xml b/app/src/main/res/drawable/btn_add_folder.xml new file mode 100644 index 00000000..9ba19ba8 --- /dev/null +++ b/app/src/main/res/drawable/btn_add_folder.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/app/src/main/res/drawable/btn_syncthing_logo.xml b/app/src/main/res/drawable/btn_syncthing_logo.xml new file mode 100644 index 00000000..cf0563cf --- /dev/null +++ b/app/src/main/res/drawable/btn_syncthing_logo.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/app/src/main/res/layout/activity_first_start.xml b/app/src/main/res/layout/activity_first_start.xml index 40f00fe3..9b416962 100644 --- a/app/src/main/res/layout/activity_first_start.xml +++ b/app/src/main/res/layout/activity_first_start.xml @@ -39,20 +39,22 @@ android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" - android:background="@null" android:text="@string/back" - android:textColor="@android:color/white" - android:visibility="gone" /> + android:visibility="gone" + style="@style/Theme.Syncthing.GreyButton" /> diff --git a/app/src/main/res/layout/activity_firststart_ignore_doze_permission.xml b/app/src/main/res/layout/activity_firststart_ignore_doze_permission.xml index ab5114db..f2074242 100644 --- a/app/src/main/res/layout/activity_firststart_ignore_doze_permission.xml +++ b/app/src/main/res/layout/activity_firststart_ignore_doze_permission.xml @@ -33,7 +33,7 @@ android:text="@string/ignore_doze_permission_title" android:textColor="@android:color/white" android:textSize="@dimen/slide_title" - android:textStyle="bold"/> + android:textStyle="bold" /> + android:textSize="12sp" + style="@style/Theme.Syncthing.GreyButton" /> + android:textSize="12sp" + style="@style/Theme.Syncthing.GreyButton" /> diff --git a/app/src/main/res/layout/activity_firststart_storage_permission.xml b/app/src/main/res/layout/activity_firststart_storage_permission.xml index b4dc320a..d18e584a 100644 --- a/app/src/main/res/layout/activity_firststart_storage_permission.xml +++ b/app/src/main/res/layout/activity_firststart_storage_permission.xml @@ -54,7 +54,8 @@ android:paddingEnd="@dimen/grant_button_padding" android:paddingRight="@dimen/grant_button_padding" android:text="@string/grant_permission" - android:textSize="12sp" /> + android:textSize="12sp" + style="@style/Theme.Syncthing.GreyButton" /> + + + + + + + + diff --git a/app/src/main/res/layout/widget_toolbar.xml b/app/src/main/res/layout/widget_toolbar.xml index 451b7df4..fd6deb28 100644 --- a/app/src/main/res/layout/widget_toolbar.xml +++ b/app/src/main/res/layout/widget_toolbar.xml @@ -21,6 +21,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" + android:focusable="false" android:visibility="gone" app:buttonTint="#76ff03"/> @@ -29,6 +30,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" + android:focusable="false" android:visibility="gone" app:buttonTint="#fff103"/> @@ -37,9 +39,10 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" + android:focusable="false" android:visibility="gone" app:buttonTint="#ffae03"/> - \ No newline at end of file + diff --git a/app/src/main/res/menu/device_list.xml b/app/src/main/res/menu/device_list.xml index fa1d81ab..56cff8f4 100644 --- a/app/src/main/res/menu/device_list.xml +++ b/app/src/main/res/menu/device_list.xml @@ -5,7 +5,7 @@ diff --git a/app/src/main/res/menu/folder_list.xml b/app/src/main/res/menu/folder_list.xml index b03d348d..dc0c5233 100644 --- a/app/src/main/res/menu/folder_list.xml +++ b/app/src/main/res/menu/folder_list.xml @@ -5,7 +5,7 @@ diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index cef3211d..8afc7d4f 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -33,6 +33,11 @@ @android:style/Animation + + +