1941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes/*
2941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * Copyright (C) 2014 The Android Open Source Project
3941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes *
4941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * Licensed under the Apache License, Version 2.0 (the "License");
5941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * you may not use this file except in compliance with the License.
6941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * You may obtain a copy of the License at
7941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes *
8941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes *      http://www.apache.org/licenses/LICENSE-2.0
9941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes *
10941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * Unless required by applicable law or agreed to in writing, software
11941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * distributed under the License is distributed on an "AS IS" BASIS,
12941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * See the License for the specific language governing permissions and
14941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * limitations under the License.
15941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes */
16941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banespackage com.example.android.supportv7.app;
17941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes
18941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banesimport android.os.Bundle;
19def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport android.view.View;
20def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikas
21ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.annotation.Nullable;
22ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.appcompat.app.AppCompatActivity;
23ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.appcompat.app.AppCompatDelegate;
24ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.appcompat.app.AppCompatDialog;
2527644c071b7fc0e1e4f91194f2a08b4aa2cf1465Aurimas Liutikas
2627644c071b7fc0e1e4f91194f2a08b4aa2cf1465Aurimas Liutikasimport com.example.android.supportv7.R;
27941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes
28941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes/**
29941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes * This demonstrates idiomatic usage of Dialog with Theme.AppCompat.DayNight
30941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes */
31941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banespublic class AppCompatNightModeDialog extends AppCompatActivity {
32941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes
33941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes    @Override
34941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes    protected void onCreate(@Nullable Bundle savedInstanceState) {
35941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        super.onCreate(savedInstanceState);
36941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        setContentView(R.layout.appcompat_night_mode);
37941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes    }
38941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes
39941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes    public void setModeNightNo(View view) {
40941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        AppCompatDialog dialog = new AppCompatDialog(this, R.style.Theme_AppCompat_DayNight_Dialog);
41941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
42941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.setTitle(R.string.dialog_title);
43941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.setContentView(R.layout.dialog_content);
44941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.show();
45941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes    }
46941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes
47941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes    public void setModeNightYes(View view) {
48941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        AppCompatDialog dialog = new AppCompatDialog(this, R.style.Theme_AppCompat_DayNight_Dialog);
49941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
50941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.setTitle(R.string.dialog_title);
51941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.setContentView(R.layout.dialog_content);
52941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.show();
53941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes    }
54941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes
55941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes    public void setModeNightAuto(View view) {
56941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        AppCompatDialog dialog = new AppCompatDialog(this, R.style.Theme_AppCompat_DayNight_Dialog);
57941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_AUTO);
58941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.setTitle(R.string.dialog_title);
59941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.setContentView(R.layout.dialog_content);
60941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes        dialog.show();
61941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes    }
62941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes
63941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes
64941ec8ddcd762cc742ab4d71b5ac37d04666ee27Chris Banes}
65