Loading app/build.gradle +5 −0 Original line number Diff line number Diff line Loading @@ -49,10 +49,15 @@ android { disable 'MissingTranslation' } namespace 'it.niedermann.owncloud.notes' aaptOptions { additionalParameters '-I', 'e-ui-sdk.jar' } } dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.6' compileOnly files("../e-ui-sdk.jar") // Nextcloud SSO implementation 'com.github.nextcloud:Android-SingleSignOn:0.6.1' Loading app/src/main/java/it/niedermann/owncloud/notes/about/AboutActivity.java +0 −28 Original line number Diff line number Diff line package it.niedermann.owncloud.notes.about; import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; import androidx.annotation.ColorInt; import androidx.appcompat.app.AppCompatActivity; import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.main.MainActivity; public class AboutActivity extends AppCompatActivity { @Override Loading @@ -18,27 +12,5 @@ public class AboutActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_about); getFragmentManager().beginTransaction().replace(R.id.container, new AboutFragment()).commit(); updateAccentColor(); } private void updateAccentColor() { //change toolbar color getSupportActionBar().setBackgroundDrawable( new ColorDrawable(MainActivity.ACCENT_COLOR)); //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(MainActivity.ACCENT_COLOR)); } } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } } No newline at end of file app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -252,7 +252,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego if (ShortcutManagerCompat.isRequestPinShortcutSupported(context)) { final var pinShortcutInfo = new ShortcutInfoCompat.Builder(context, String.valueOf(note.getId())) .setShortLabel(note.getTitle()) .setIcon(IconCompat.createWithResource(context.getApplicationContext(), TRUE.equals(note.getFavorite()) ? R.drawable.ic_star_yellow_24dp : R.drawable.ic_star_grey_ccc_24dp)) .setIcon(IconCompat.createWithResource(context.getApplicationContext(), TRUE.equals(note.getFavorite()) ? R.drawable.ic_star_yellow_24dp : R.drawable.ic_star_border_white_24dp)) .setIntent(new Intent(getActivity(), EditNoteActivity.class).putExtra(EditNoteActivity.PARAM_NOTE_ID, note.getId()).setAction(ACTION_SHORTCUT)) .build(); Loading app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java +0 −27 Original line number Diff line number Diff line Loading @@ -3,18 +3,14 @@ package it.niedermann.owncloud.notes.edit; import static it.niedermann.owncloud.notes.shared.model.ENavigationCategoryType.FAVORITES; import android.content.Intent; import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.Window; import android.view.WindowManager; import android.widget.Toast; import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; Loading Loading @@ -96,8 +92,6 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment setSupportActionBar(binding.toolbar); binding.toolbar.setOnClickListener((v) -> fragment.showEditTitleDialog()); updateAccentColor(); } @Override Loading Loading @@ -322,25 +316,4 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment public void applyBrand(int mainColor, int textColor) { applyBrandToPrimaryToolbar(binding.appBar, binding.toolbar); } private void updateAccentColor(){ //change toolbar color getSupportActionBar().setBackgroundDrawable( new ColorDrawable(MainActivity.ACCENT_COLOR)); //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(MainActivity.ACCENT_COLOR)); } } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } } No newline at end of file app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java +0 −57 Original line number Diff line number Diff line Loading @@ -17,28 +17,19 @@ import static it.niedermann.owncloud.notes.shared.util.SSOUtil.askForNewAccount; import android.accounts.NetworkErrorException; import android.animation.AnimatorInflater; import android.app.SearchManager; import android.content.Context; import android.content.Intent; import android.content.res.ColorStateList; import android.graphics.Color; import android.graphics.PorterDuff; import android.graphics.drawable.ColorDrawable; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.util.TypedValue; import android.view.View; import android.view.Window; import android.view.WindowManager; import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.appcompat.view.ActionMode; import androidx.appcompat.view.ContextThemeWrapper; import androidx.appcompat.widget.SearchView; import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.core.app.ActivityCompat; Loading Loading @@ -145,8 +136,6 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A boolean canMoveNoteToAnotherAccounts = false; public static int ACCENT_COLOR; @Override protected void onCreate(Bundle savedInstanceState) { SplashScreen.installSplashScreen(this); Loading Loading @@ -368,9 +357,6 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A menuAdapter.updateAccount(this, nextAccount); } }); ACCENT_COLOR= fetchAccentColor(this); fabCreate.setBackgroundTintList(ColorStateList.valueOf(darkenColor20(ACCENT_COLOR))); } @Override Loading Loading @@ -834,47 +820,4 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A categoryLiveData.observe(this, (next) -> categoryLiveData.removeObservers(this)); tracker.clearSelection(); } /* * get Accent color from OS * */ private int fetchAccentColor(Context context) { TypedValue typedValue = new TypedValue(); ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault); contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent, typedValue, true); int color_accent = typedValue.data; Log.e("TAG", "accent Colour #"+Integer.toHexString(color_accent)); //change toolbar color getSupportActionBar().setBackgroundDrawable( new ColorDrawable(color_accent)); //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(color_accent)); } return color_accent; } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } @ColorInt int darkenColor20(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.6f; return android.graphics.Color.HSVToColor(hsv); } } Loading
app/build.gradle +5 −0 Original line number Diff line number Diff line Loading @@ -49,10 +49,15 @@ android { disable 'MissingTranslation' } namespace 'it.niedermann.owncloud.notes' aaptOptions { additionalParameters '-I', 'e-ui-sdk.jar' } } dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.6' compileOnly files("../e-ui-sdk.jar") // Nextcloud SSO implementation 'com.github.nextcloud:Android-SingleSignOn:0.6.1' Loading
app/src/main/java/it/niedermann/owncloud/notes/about/AboutActivity.java +0 −28 Original line number Diff line number Diff line package it.niedermann.owncloud.notes.about; import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; import androidx.annotation.ColorInt; import androidx.appcompat.app.AppCompatActivity; import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.main.MainActivity; public class AboutActivity extends AppCompatActivity { @Override Loading @@ -18,27 +12,5 @@ public class AboutActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_about); getFragmentManager().beginTransaction().replace(R.id.container, new AboutFragment()).commit(); updateAccentColor(); } private void updateAccentColor() { //change toolbar color getSupportActionBar().setBackgroundDrawable( new ColorDrawable(MainActivity.ACCENT_COLOR)); //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(MainActivity.ACCENT_COLOR)); } } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } } No newline at end of file
app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -252,7 +252,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego if (ShortcutManagerCompat.isRequestPinShortcutSupported(context)) { final var pinShortcutInfo = new ShortcutInfoCompat.Builder(context, String.valueOf(note.getId())) .setShortLabel(note.getTitle()) .setIcon(IconCompat.createWithResource(context.getApplicationContext(), TRUE.equals(note.getFavorite()) ? R.drawable.ic_star_yellow_24dp : R.drawable.ic_star_grey_ccc_24dp)) .setIcon(IconCompat.createWithResource(context.getApplicationContext(), TRUE.equals(note.getFavorite()) ? R.drawable.ic_star_yellow_24dp : R.drawable.ic_star_border_white_24dp)) .setIntent(new Intent(getActivity(), EditNoteActivity.class).putExtra(EditNoteActivity.PARAM_NOTE_ID, note.getId()).setAction(ACTION_SHORTCUT)) .build(); Loading
app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java +0 −27 Original line number Diff line number Diff line Loading @@ -3,18 +3,14 @@ package it.niedermann.owncloud.notes.edit; import static it.niedermann.owncloud.notes.shared.model.ENavigationCategoryType.FAVORITES; import android.content.Intent; import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.Window; import android.view.WindowManager; import android.widget.Toast; import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; Loading Loading @@ -96,8 +92,6 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment setSupportActionBar(binding.toolbar); binding.toolbar.setOnClickListener((v) -> fragment.showEditTitleDialog()); updateAccentColor(); } @Override Loading Loading @@ -322,25 +316,4 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment public void applyBrand(int mainColor, int textColor) { applyBrandToPrimaryToolbar(binding.appBar, binding.toolbar); } private void updateAccentColor(){ //change toolbar color getSupportActionBar().setBackgroundDrawable( new ColorDrawable(MainActivity.ACCENT_COLOR)); //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(MainActivity.ACCENT_COLOR)); } } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } } No newline at end of file
app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java +0 −57 Original line number Diff line number Diff line Loading @@ -17,28 +17,19 @@ import static it.niedermann.owncloud.notes.shared.util.SSOUtil.askForNewAccount; import android.accounts.NetworkErrorException; import android.animation.AnimatorInflater; import android.app.SearchManager; import android.content.Context; import android.content.Intent; import android.content.res.ColorStateList; import android.graphics.Color; import android.graphics.PorterDuff; import android.graphics.drawable.ColorDrawable; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.util.TypedValue; import android.view.View; import android.view.Window; import android.view.WindowManager; import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.appcompat.view.ActionMode; import androidx.appcompat.view.ContextThemeWrapper; import androidx.appcompat.widget.SearchView; import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.core.app.ActivityCompat; Loading Loading @@ -145,8 +136,6 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A boolean canMoveNoteToAnotherAccounts = false; public static int ACCENT_COLOR; @Override protected void onCreate(Bundle savedInstanceState) { SplashScreen.installSplashScreen(this); Loading Loading @@ -368,9 +357,6 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A menuAdapter.updateAccount(this, nextAccount); } }); ACCENT_COLOR= fetchAccentColor(this); fabCreate.setBackgroundTintList(ColorStateList.valueOf(darkenColor20(ACCENT_COLOR))); } @Override Loading Loading @@ -834,47 +820,4 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A categoryLiveData.observe(this, (next) -> categoryLiveData.removeObservers(this)); tracker.clearSelection(); } /* * get Accent color from OS * */ private int fetchAccentColor(Context context) { TypedValue typedValue = new TypedValue(); ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault); contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent, typedValue, true); int color_accent = typedValue.data; Log.e("TAG", "accent Colour #"+Integer.toHexString(color_accent)); //change toolbar color getSupportActionBar().setBackgroundDrawable( new ColorDrawable(color_accent)); //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(color_accent)); } return color_accent; } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } @ColorInt int darkenColor20(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.6f; return android.graphics.Color.HSVToColor(hsv); } }