/*
 * 应用主Activity
 * 负责设置全屏沉浸效果，适配系统状态栏和导航栏
 */
package net.micode.notes;

import android.os.Bundle;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

/**
 * 应用主Activity
 * 实现全屏沉浸效果，使应用内容能够延伸到系统状态栏和导航栏区域
 */
public class MainActivity extends AppCompatActivity {
    
    /**
     * Activity创建时调用的生命周期方法
     * 设置全屏沉浸效果并处理窗口Insets
     * 
     * @param savedInstanceState 保存的实例状态，如果Activity是重新创建的
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        // 启用全屏沉浸效果，允许内容延伸到系统状态栏和导航栏区域
        EdgeToEdge.enable(this);
        
        // 设置Activity布局
        setContentView(R.layout.activity_main);
        
        // 设置窗口Insets监听器，处理系统窗口边界
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            // 获取系统状态栏和导航栏的Insets（边距）
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            
            // 将Insets应用到主视图的padding中，确保内容不会被系统UI遮挡
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            
            // 返回处理后的Insets，供其他视图继续使用
            return insets;
        });
    }
}
