a
554325746@qq.com
2019-07-15 e6c8834e2aa2f3c1f46e588d94ae8ec6aa6c8dec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
package com.basic.security.activity;
 
import android.os.SystemClock;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.View;
import android.widget.MediaController;
import android.widget.RelativeLayout;
import android.widget.TextView;
 
import com.basic.security.count.R;
import com.basic.security.base.BaseApplication;
import com.basic.security.base.BaseFragment;
import com.basic.security.fragment.HomeFragment;
import com.basic.security.fragment.SettingFragment;
import com.basic.security.utils.KeyboardUtil;
import com.basic.security.widget.AuthDialog;
 
import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.Background;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.FragmentById;
import org.androidannotations.annotations.UiThread;
import org.androidannotations.annotations.ViewById;
 
import java.text.SimpleDateFormat;
import java.util.Date;
 
@EActivity(R.layout.activity_main)
public class MainActivity extends FragmentActivity {
 
    @FragmentById
    public HomeFragment fragment_home;
    @FragmentById
    public SettingFragment fragment_setting;
    @ViewById
    public TextView currentTime;
    @ViewById
    public RelativeLayout mainActivityView;
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    MediaController mediaController;
    public BaseFragment currentFragment;
 
    static {
        System.loadLibrary("native-lib");
    }
 
    public MainActivity() {
        BaseApplication.getApplication().activity = this;
    }
 
    @UiThread
    public void hideSystemUI() {
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                | View.SYSTEM_UI_FLAG_IMMERSIVE);
    }
 
    @AfterViews
    public void afterViews() {
        currentFragment = fragment_home;
        hideSystemUI();
        getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
            @Override
            public void onSystemUiVisibilityChange(int visibility) {
                hideSystemUI();
            }
        });
        goto_home();
        refreshCurrentTime();
        KeyboardUtil.setupUI(fragment_setting.getView());
        fragment_home.initDataForLinesInterval();
    }
 
    @Background
    public void refreshCurrentTime() {
        while(true) {
            setCurrentTime();
            SystemClock.sleep(1000);
        }
    }
 
    @UiThread
    public void setCurrentTime() {
        currentTime.setText(sdf.format(new Date()));
    }
 
    public void hideOneFragment(BaseFragment fragment) {
        fragment.hide();
        FragmentManager fm = getSupportFragmentManager();
        fm.beginTransaction()
                .hide(fragment)
                .commitAllowingStateLoss();
    }
 
    public void showOneFragment(BaseFragment fragment) {
        currentFragment = fragment;
        fragment.show();
        FragmentManager fm = getSupportFragmentManager();
        fm.beginTransaction()
                .setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out)
                .show(fragment)
                .commitAllowingStateLoss();
    }
 
    @Click
    public void goto_setting() {
        if (currentFragment == fragment_home) {
//            do_goto_setting();
            AuthDialog authDialog = new AuthDialog(this);
            authDialog.show();
        }
    }
 
    public void do_goto_setting() {
        hideOneFragment(fragment_home);
        showOneFragment(fragment_setting);
    }
 
    public void goto_home() {
        hideOneFragment(fragment_setting);
        showOneFragment(fragment_home);
    }
 
    @Override
    public void onBackPressed() {
        android.os.Process.killProcess(android.os.Process.myPid());
        System.exit(0);
    }
 
}