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); } }