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