// Path: app/src/main/java/com/antest1/kcanotify/KcaUtils.java
// public static int adjustAlpha(int color, float factor) {
//     int alpha = Math.round(Color.alpha(color) * factor);
//     int red = Color.red(color);
//     int green = Color.green(color);
//     int blue = Color.blue(color);
//     return Color.argb(alpha, red, green, blue);
// }
// 
// Path: app/src/main/java/com/antest1/kcanotify/KcaUtils.java
// public static int getWindowLayoutType() {
//     int windowLayoutType = -1;
//     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//         windowLayoutType = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
//     } else {
//         windowLayoutType = WindowManager.LayoutParams.TYPE_PHONE;
//     }
//     return windowLayoutType;
// }


import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.PixelFormat;
import android.graphics.Point;
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.provider.Settings;
import androidx.annotation.Nullable;
import androidx.core.app.NotificationManagerCompat;
import android.util.Log;
import android.view.Display;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import static com.antest1.kcanotify.KcaUtils.adjustAlpha;
import static com.antest1.kcanotify.KcaUtils.getWindowLayoutType;
        super.onDestroy();
    }

    private View.OnTouchListener mViewTouchListener = new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            if (view.getId() == R.id.toast_text) {
                mView.postDelayed(() -> mView.setVisibility(View.GONE), CUSTOM_FADE_DURATION);
                mHandler.removeCallbacks(mRunnable);
            }
            return false;
        }
    };

    private Runnable mRunnable = new Runnable() {
        @Override
        public void run() {
            mView.animate()
            .alpha(0f)
            .setDuration(CUSTOM_FADE_DURATION)
            .setListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    mView.setVisibility(View.GONE);
                }
            });
        }
    };

    @Override
// Path: app/src/main/java/com/antest1/kcanotify/KcaUtils.java
// public static int adjustAlpha(int color, float factor) {
//     int alpha = Math.round(Color.alpha(color) * factor);
//     int red = Color.red(color);
//     int green = Color.green(color);
//     int blue = Color.blue(color);
//     return Color.argb(alpha, red, green, blue);
// }
// 
// Path: app/src/main/java/com/antest1/kcanotify/KcaUtils.java
// public static int getWindowLayoutType() {
//     int windowLayoutType = -1;
//     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//         windowLayoutType = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
//     } else {
//         windowLayoutType = WindowManager.LayoutParams.TYPE_PHONE;
//     }
//     return windowLayoutType;
// }


// Path: app/src/main/java/com/antest1/kcanotify/KcaCustomToastService.java
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.PixelFormat;
import android.graphics.Point;
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.provider.Settings;
import androidx.annotation.Nullable;
import androidx.core.app.NotificationManagerCompat;
import android.util.Log;
import android.view.Display;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import static com.antest1.kcanotify.KcaUtils.adjustAlpha;
import static com.antest1.kcanotify.KcaUtils.getWindowLayoutType;

        super.onDestroy();
    }

    private View.OnTouchListener mViewTouchListener = new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            if (view.getId() == R.id.toast_text) {
                mView.postDelayed(() -> mView.setVisibility(View.GONE), CUSTOM_FADE_DURATION);
                mHandler.removeCallbacks(mRunnable);
            }
            return false;
        }
    };

    private Runnable mRunnable = new Runnable() {
        @Override
        public void run() {
            mView.animate()
            .alpha(0f)
            .setDuration(CUSTOM_FADE_DURATION)
            .setListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    mView.setVisibility(View.GONE);
                }
            });
        }
    };

    @Override
    public void onConfigurationChanged(Configuration newConfig) {