Loading app/src/main/java/foundation/e/blisslauncher/core/blur/BlurWallpaperProvider.java +7 −9 Original line number Original line Diff line number Diff line Loading @@ -175,15 +175,13 @@ public class BlurWallpaperProvider { wallpaper = Bitmap.createScaledBitmap(wallpaper, scaledWidth, scaledHeight, false); wallpaper = Bitmap.createScaledBitmap(wallpaper, scaledWidth, scaledHeight, false); if(wallpaper.getWidth() >= wallpaper.getHeight()){ return Bitmap.createBitmap(wallpaper, 0, 0, width, height); int y; } else { if (wallpaper.getHeight() > height) { int x = (wallpaper.getWidth() - width) / 2; y = (wallpaper.getHeight() - height) / 2; if (x < 0 || x + width > wallpaper.getWidth()) { } else y = 0; x = 0; } return Bitmap.createBitmap(wallpaper, 0, y, width, height); return Bitmap.createBitmap(wallpaper, x, 0, width, height); } } } public interface Listener { public interface Listener { Loading app/src/main/java/foundation/e/blisslauncher/core/broadcast/WallpaperChangeReceiver.java +30 −7 Original line number Original line Diff line number Diff line package foundation.e.blisslauncher.core.broadcast; package foundation.e.blisslauncher.core.broadcast; import android.app.WallpaperManager; import android.content.BroadcastReceiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.content.IntentFilter; import android.content.IntentFilter; import android.os.IBinder; import android.view.View; import foundation.e.blisslauncher.core.blur.BlurWallpaperProvider; import foundation.e.blisslauncher.core.blur.BlurWallpaperProvider; import static android.content.Context.WALLPAPER_SERVICE; public class WallpaperChangeReceiver extends BroadcastReceiver { public class WallpaperChangeReceiver extends BroadcastReceiver { private final Context mContext; private IBinder mWindowToken; private boolean mRegistered; private View mWorkspace; public WallpaperChangeReceiver(View workspace){ this.mWorkspace = workspace; this.mContext = mWorkspace.getContext(); } @Override @Override public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) { BlurWallpaperProvider.getInstance(context).clear(); BlurWallpaperProvider.getInstance(context).clear(); updateOffset(); } } public static WallpaperChangeReceiver register(Context context) { public void setWindowToken(IBinder token) { IntentFilter timeIntentFilter = new IntentFilter(Intent.ACTION_WALLPAPER_CHANGED); mWindowToken = token; WallpaperChangeReceiver receiver = new WallpaperChangeReceiver(); if (mWindowToken == null && mRegistered) { context.registerReceiver(receiver, timeIntentFilter); mWorkspace.getContext().unregisterReceiver(this); return receiver; mRegistered = false; } else if (mWindowToken != null && !mRegistered) { mWorkspace.getContext() .registerReceiver(this, new IntentFilter(Intent.ACTION_WALLPAPER_CHANGED)); onReceive(mWorkspace.getContext(), null); mRegistered = true; } } } public static void unregister(Context context, WallpaperChangeReceiver receiver) { private void updateOffset() { context.unregisterReceiver(receiver); WallpaperManager wm = (WallpaperManager) mContext.getSystemService(WALLPAPER_SERVICE); wm.setWallpaperOffsets(mWorkspace.getWindowToken(), 0f, 0.5f); } } } } app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java +28 −9 Original line number Original line Diff line number Diff line Loading @@ -305,6 +305,18 @@ public class LauncherActivity extends AppCompatActivity implements private void setupViews() { private void setupViews() { workspace = mLauncherView.findViewById(R.id.workspace); workspace = mLauncherView.findViewById(R.id.workspace); wallpaperChangeReceiver = new WallpaperChangeReceiver(workspace); workspace.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() { @Override public void onViewAttachedToWindow(View v) { wallpaperChangeReceiver.setWindowToken(v.getWindowToken()); } @Override public void onViewDetachedFromWindow(View v) { wallpaperChangeReceiver.setWindowToken(null); } }); mHorizontalPager = mLauncherView.findViewById(R.id.pages_container); mHorizontalPager = mLauncherView.findViewById(R.id.pages_container); backgroundLayer = mLauncherView.findViewById(R.id.background_layer); backgroundLayer = mLauncherView.findViewById(R.id.background_layer); frontLayer = mLauncherView.findViewById(R.id.blur_layer); frontLayer = mLauncherView.findViewById(R.id.blur_layer); Loading Loading @@ -369,7 +381,6 @@ public class LauncherActivity extends AppCompatActivity implements private void prepareBroadcastReceivers() { private void prepareBroadcastReceivers() { timeChangedReceiver = TimeChangeBroadcastReceiver.register(this); timeChangedReceiver = TimeChangeBroadcastReceiver.register(this); managedProfileReceiver = ManagedProfileBroadcastReceiver.register(this); managedProfileReceiver = ManagedProfileBroadcastReceiver.register(this); wallpaperChangeReceiver = WallpaperChangeReceiver.register(this); } } protected void attachBaseContext(Context context) { protected void attachBaseContext(Context context) { Loading Loading @@ -466,7 +477,6 @@ public class LauncherActivity extends AppCompatActivity implements super.onDestroy(); super.onDestroy(); TimeChangeBroadcastReceiver.unregister(this, timeChangedReceiver); TimeChangeBroadcastReceiver.unregister(this, timeChangedReceiver); ManagedProfileBroadcastReceiver.unregister(this, managedProfileReceiver); ManagedProfileBroadcastReceiver.unregister(this, managedProfileReceiver); WallpaperChangeReceiver.unregister(this, wallpaperChangeReceiver); LocalBroadcastManager.getInstance(this).unregisterReceiver(mWeatherReceiver); LocalBroadcastManager.getInstance(this).unregisterReceiver(mWeatherReceiver); getCompositeDisposable().dispose(); getCompositeDisposable().dispose(); events.unsubscribe(); events.unsubscribe(); Loading Loading @@ -1109,10 +1119,12 @@ public class LauncherActivity extends AppCompatActivity implements Log.d(TAG, "onViewScrollFinished() called with: page = [" + page + "]"); Log.d(TAG, "onViewScrollFinished() called with: page = [" + page + "]"); isViewScrolling = false; isViewScrolling = false; if (page != 0) { if (page != 0) { BlurWallpaperProvider.getInstance(LauncherActivity.this).clear(); backgroundLayer.setBackground(null); backgroundLayer.setBackground(null); } } if (mFolderWindowContainer.getVisibility() != VISIBLE) { if (mFolderWindowContainer.getVisibility() != VISIBLE) { BlurWallpaperProvider.getInstance(LauncherActivity.this).clear(); frontLayer.setBackground(null); frontLayer.setBackground(null); } } if (currentPageNumber != page) { if (currentPageNumber != page) { Loading Loading @@ -1151,14 +1163,21 @@ public class LauncherActivity extends AppCompatActivity implements public void blurBackgroundLayer(Bitmap bitmap) { public void blurBackgroundLayer(Bitmap bitmap) { Log.d(TAG, "blurBackgroundLayer() called with: bitmap = [" + bitmap + "]"); Log.d(TAG, "blurBackgroundLayer() called with: bitmap = [" + bitmap + "]"); BitmapDrawable drawable = new BitmapDrawable(bitmap); BitmapDrawable drawable = new BitmapDrawable(bitmap); runOnUiThread(() -> backgroundLayer.setBackground(drawable)); new Handler(Looper.getMainLooper()) } .post(() -> { Log.d(TAG, "removeBlur() called"); backgroundLayer.setBackground(drawable); }); } @Override @Override public void blurFrontLayer(Bitmap bitmap) { public void blurFrontLayer(Bitmap bitmap) { Log.d(TAG, "blurFrontLayer() called with: bitmap = [" + bitmap + "]"); Log.d(TAG, "blurFrontLayer() called with: bitmap = [" + bitmap + "]"); BitmapDrawable drawable = new BitmapDrawable(bitmap); BitmapDrawable drawable = new BitmapDrawable(bitmap); runOnUiThread(() -> frontLayer.setBackground(drawable)); new Handler(Looper.getMainLooper()) .post(() -> { Log.d(TAG, "removeBlur() called"); frontLayer.setBackground(drawable); }); } } @Override @Override Loading Loading @@ -2803,7 +2822,7 @@ public class LauncherActivity extends AppCompatActivity implements .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 1f, 0f)) .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 1f, 0f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 1f, 0f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 1f, 0f)) .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 1f, 0f)); .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 1f, 0f)); set.setDuration(300); set.setDuration(400); set.setInterpolator(new LinearInterpolator()); set.setInterpolator(new LinearInterpolator()); set.addListener(new AnimatorListenerAdapter() { set.addListener(new AnimatorListenerAdapter() { @Override @Override Loading Loading @@ -2900,7 +2919,7 @@ public class LauncherActivity extends AppCompatActivity implements .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 0f, 1f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 0f, 1f)) .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 0f, 1f)) .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 0f, 1f)) .with(valueAnimator); .with(valueAnimator); set.setDuration(300); set.setDuration(400); set.setInterpolator(new LinearInterpolator()); set.setInterpolator(new LinearInterpolator()); set.addListener(new AnimatorListenerAdapter() { set.addListener(new AnimatorListenerAdapter() { @Override @Override Loading Loading @@ -2984,7 +3003,7 @@ public class LauncherActivity extends AppCompatActivity implements .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 0f)) .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 0f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 0f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 0f)) .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 0f)); .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 0f)); set.setDuration(200); set.setDuration(500); set.setInterpolator(new LinearInterpolator()); set.setInterpolator(new LinearInterpolator()); set.addListener(new AnimatorListenerAdapter() { set.addListener(new AnimatorListenerAdapter() { @Override @Override Loading Loading @@ -3103,7 +3122,7 @@ public class LauncherActivity extends AppCompatActivity implements .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 1f)) .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 1f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 1f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 1f)) .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 1f)); .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 1f)); set.setDuration(200); set.setDuration(500); set.setInterpolator(new LinearInterpolator()); set.setInterpolator(new LinearInterpolator()); set.addListener(new AnimatorListenerAdapter() { set.addListener(new AnimatorListenerAdapter() { @Override @Override Loading Loading
app/src/main/java/foundation/e/blisslauncher/core/blur/BlurWallpaperProvider.java +7 −9 Original line number Original line Diff line number Diff line Loading @@ -175,15 +175,13 @@ public class BlurWallpaperProvider { wallpaper = Bitmap.createScaledBitmap(wallpaper, scaledWidth, scaledHeight, false); wallpaper = Bitmap.createScaledBitmap(wallpaper, scaledWidth, scaledHeight, false); if(wallpaper.getWidth() >= wallpaper.getHeight()){ return Bitmap.createBitmap(wallpaper, 0, 0, width, height); int y; } else { if (wallpaper.getHeight() > height) { int x = (wallpaper.getWidth() - width) / 2; y = (wallpaper.getHeight() - height) / 2; if (x < 0 || x + width > wallpaper.getWidth()) { } else y = 0; x = 0; } return Bitmap.createBitmap(wallpaper, 0, y, width, height); return Bitmap.createBitmap(wallpaper, x, 0, width, height); } } } public interface Listener { public interface Listener { Loading
app/src/main/java/foundation/e/blisslauncher/core/broadcast/WallpaperChangeReceiver.java +30 −7 Original line number Original line Diff line number Diff line package foundation.e.blisslauncher.core.broadcast; package foundation.e.blisslauncher.core.broadcast; import android.app.WallpaperManager; import android.content.BroadcastReceiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.content.IntentFilter; import android.content.IntentFilter; import android.os.IBinder; import android.view.View; import foundation.e.blisslauncher.core.blur.BlurWallpaperProvider; import foundation.e.blisslauncher.core.blur.BlurWallpaperProvider; import static android.content.Context.WALLPAPER_SERVICE; public class WallpaperChangeReceiver extends BroadcastReceiver { public class WallpaperChangeReceiver extends BroadcastReceiver { private final Context mContext; private IBinder mWindowToken; private boolean mRegistered; private View mWorkspace; public WallpaperChangeReceiver(View workspace){ this.mWorkspace = workspace; this.mContext = mWorkspace.getContext(); } @Override @Override public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) { BlurWallpaperProvider.getInstance(context).clear(); BlurWallpaperProvider.getInstance(context).clear(); updateOffset(); } } public static WallpaperChangeReceiver register(Context context) { public void setWindowToken(IBinder token) { IntentFilter timeIntentFilter = new IntentFilter(Intent.ACTION_WALLPAPER_CHANGED); mWindowToken = token; WallpaperChangeReceiver receiver = new WallpaperChangeReceiver(); if (mWindowToken == null && mRegistered) { context.registerReceiver(receiver, timeIntentFilter); mWorkspace.getContext().unregisterReceiver(this); return receiver; mRegistered = false; } else if (mWindowToken != null && !mRegistered) { mWorkspace.getContext() .registerReceiver(this, new IntentFilter(Intent.ACTION_WALLPAPER_CHANGED)); onReceive(mWorkspace.getContext(), null); mRegistered = true; } } } public static void unregister(Context context, WallpaperChangeReceiver receiver) { private void updateOffset() { context.unregisterReceiver(receiver); WallpaperManager wm = (WallpaperManager) mContext.getSystemService(WALLPAPER_SERVICE); wm.setWallpaperOffsets(mWorkspace.getWindowToken(), 0f, 0.5f); } } } }
app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java +28 −9 Original line number Original line Diff line number Diff line Loading @@ -305,6 +305,18 @@ public class LauncherActivity extends AppCompatActivity implements private void setupViews() { private void setupViews() { workspace = mLauncherView.findViewById(R.id.workspace); workspace = mLauncherView.findViewById(R.id.workspace); wallpaperChangeReceiver = new WallpaperChangeReceiver(workspace); workspace.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() { @Override public void onViewAttachedToWindow(View v) { wallpaperChangeReceiver.setWindowToken(v.getWindowToken()); } @Override public void onViewDetachedFromWindow(View v) { wallpaperChangeReceiver.setWindowToken(null); } }); mHorizontalPager = mLauncherView.findViewById(R.id.pages_container); mHorizontalPager = mLauncherView.findViewById(R.id.pages_container); backgroundLayer = mLauncherView.findViewById(R.id.background_layer); backgroundLayer = mLauncherView.findViewById(R.id.background_layer); frontLayer = mLauncherView.findViewById(R.id.blur_layer); frontLayer = mLauncherView.findViewById(R.id.blur_layer); Loading Loading @@ -369,7 +381,6 @@ public class LauncherActivity extends AppCompatActivity implements private void prepareBroadcastReceivers() { private void prepareBroadcastReceivers() { timeChangedReceiver = TimeChangeBroadcastReceiver.register(this); timeChangedReceiver = TimeChangeBroadcastReceiver.register(this); managedProfileReceiver = ManagedProfileBroadcastReceiver.register(this); managedProfileReceiver = ManagedProfileBroadcastReceiver.register(this); wallpaperChangeReceiver = WallpaperChangeReceiver.register(this); } } protected void attachBaseContext(Context context) { protected void attachBaseContext(Context context) { Loading Loading @@ -466,7 +477,6 @@ public class LauncherActivity extends AppCompatActivity implements super.onDestroy(); super.onDestroy(); TimeChangeBroadcastReceiver.unregister(this, timeChangedReceiver); TimeChangeBroadcastReceiver.unregister(this, timeChangedReceiver); ManagedProfileBroadcastReceiver.unregister(this, managedProfileReceiver); ManagedProfileBroadcastReceiver.unregister(this, managedProfileReceiver); WallpaperChangeReceiver.unregister(this, wallpaperChangeReceiver); LocalBroadcastManager.getInstance(this).unregisterReceiver(mWeatherReceiver); LocalBroadcastManager.getInstance(this).unregisterReceiver(mWeatherReceiver); getCompositeDisposable().dispose(); getCompositeDisposable().dispose(); events.unsubscribe(); events.unsubscribe(); Loading Loading @@ -1109,10 +1119,12 @@ public class LauncherActivity extends AppCompatActivity implements Log.d(TAG, "onViewScrollFinished() called with: page = [" + page + "]"); Log.d(TAG, "onViewScrollFinished() called with: page = [" + page + "]"); isViewScrolling = false; isViewScrolling = false; if (page != 0) { if (page != 0) { BlurWallpaperProvider.getInstance(LauncherActivity.this).clear(); backgroundLayer.setBackground(null); backgroundLayer.setBackground(null); } } if (mFolderWindowContainer.getVisibility() != VISIBLE) { if (mFolderWindowContainer.getVisibility() != VISIBLE) { BlurWallpaperProvider.getInstance(LauncherActivity.this).clear(); frontLayer.setBackground(null); frontLayer.setBackground(null); } } if (currentPageNumber != page) { if (currentPageNumber != page) { Loading Loading @@ -1151,14 +1163,21 @@ public class LauncherActivity extends AppCompatActivity implements public void blurBackgroundLayer(Bitmap bitmap) { public void blurBackgroundLayer(Bitmap bitmap) { Log.d(TAG, "blurBackgroundLayer() called with: bitmap = [" + bitmap + "]"); Log.d(TAG, "blurBackgroundLayer() called with: bitmap = [" + bitmap + "]"); BitmapDrawable drawable = new BitmapDrawable(bitmap); BitmapDrawable drawable = new BitmapDrawable(bitmap); runOnUiThread(() -> backgroundLayer.setBackground(drawable)); new Handler(Looper.getMainLooper()) } .post(() -> { Log.d(TAG, "removeBlur() called"); backgroundLayer.setBackground(drawable); }); } @Override @Override public void blurFrontLayer(Bitmap bitmap) { public void blurFrontLayer(Bitmap bitmap) { Log.d(TAG, "blurFrontLayer() called with: bitmap = [" + bitmap + "]"); Log.d(TAG, "blurFrontLayer() called with: bitmap = [" + bitmap + "]"); BitmapDrawable drawable = new BitmapDrawable(bitmap); BitmapDrawable drawable = new BitmapDrawable(bitmap); runOnUiThread(() -> frontLayer.setBackground(drawable)); new Handler(Looper.getMainLooper()) .post(() -> { Log.d(TAG, "removeBlur() called"); frontLayer.setBackground(drawable); }); } } @Override @Override Loading Loading @@ -2803,7 +2822,7 @@ public class LauncherActivity extends AppCompatActivity implements .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 1f, 0f)) .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 1f, 0f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 1f, 0f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 1f, 0f)) .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 1f, 0f)); .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 1f, 0f)); set.setDuration(300); set.setDuration(400); set.setInterpolator(new LinearInterpolator()); set.setInterpolator(new LinearInterpolator()); set.addListener(new AnimatorListenerAdapter() { set.addListener(new AnimatorListenerAdapter() { @Override @Override Loading Loading @@ -2900,7 +2919,7 @@ public class LauncherActivity extends AppCompatActivity implements .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 0f, 1f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 0f, 1f)) .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 0f, 1f)) .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 0f, 1f)) .with(valueAnimator); .with(valueAnimator); set.setDuration(300); set.setDuration(400); set.setInterpolator(new LinearInterpolator()); set.setInterpolator(new LinearInterpolator()); set.addListener(new AnimatorListenerAdapter() { set.addListener(new AnimatorListenerAdapter() { @Override @Override Loading Loading @@ -2984,7 +3003,7 @@ public class LauncherActivity extends AppCompatActivity implements .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 0f)) .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 0f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 0f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 0f)) .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 0f)); .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 0f)); set.setDuration(200); set.setDuration(500); set.setInterpolator(new LinearInterpolator()); set.setInterpolator(new LinearInterpolator()); set.addListener(new AnimatorListenerAdapter() { set.addListener(new AnimatorListenerAdapter() { @Override @Override Loading Loading @@ -3103,7 +3122,7 @@ public class LauncherActivity extends AppCompatActivity implements .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 1f)) .with(ObjectAnimator.ofFloat(mHorizontalPager, View.ALPHA, 1f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 1f)) .with(ObjectAnimator.ofFloat(mIndicator, View.ALPHA, 1f)) .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 1f)); .with(ObjectAnimator.ofFloat(mDock, View.ALPHA, 1f)); set.setDuration(200); set.setDuration(500); set.setInterpolator(new LinearInterpolator()); set.setInterpolator(new LinearInterpolator()); set.addListener(new AnimatorListenerAdapter() { set.addListener(new AnimatorListenerAdapter() { @Override @Override Loading