1 /*
2  * Copyright 2019 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.example.androidx.app;
18 
19 
20 import android.os.Bundle;
21 import android.view.View;
22 
23 import androidx.appcompat.app.AppCompatActivity;
24 import androidx.appcompat.app.AppCompatDelegate;
25 
26 import com.example.androidx.R;
27 
28 import org.jspecify.annotations.Nullable;
29 
30 /**
31  * This demonstrates idiomatic usage of AppCompatActivity with Theme.AppCompat.DayNight
32  */
33 public class AppCompatDefaultNightModeActivity extends AppCompatActivity {
34 
35     @Override
onCreate(@ullable Bundle savedInstanceState)36     protected void onCreate(@Nullable Bundle savedInstanceState) {
37         super.onCreate(savedInstanceState);
38         setContentView(R.layout.appcompat_night_mode);
39     }
40 
setModeNightFollowSystem(View view)41     public void setModeNightFollowSystem(View view) {
42         AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
43     }
44 
setModeNightNo(View view)45     public void setModeNightNo(View view) {
46         AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
47     }
48 
setModeNightYes(View view)49     public void setModeNightYes(View view) {
50         AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
51     }
52 
setModeNightAutoTime(View view)53     public void setModeNightAutoTime(View view) {
54         AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO_TIME);
55     }
56 
setModeNightAutoBattery(View view)57     public void setModeNightAutoBattery(View view) {
58         AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY);
59     }
60 }
61