@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_alarm_clock); final View controlsView = findViewById(R.id.fullscreen_content_controls); final View contentView = findViewById(R.id.fullscreen_content); // Set up an instance of SystemUiHider to control the system UI for // this activity. mSystemUiHider = SystemUiHider.getInstance(this, contentView, HIDER_FLAGS); mSystemUiHider.setup(); mSystemUiHider.setOnVisibilityChangeListener( new SystemUiHider.OnVisibilityChangeListener() { // Cached values. int mControlsHeight; int mShortAnimTime; @Override @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2) public void onVisibilityChange(boolean visible) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { // If the ViewPropertyAnimator API is available // (Honeycomb MR2 and later), use it to animate the // in-layout UI controls at the bottom of the // screen. if (mControlsHeight == 0) { mControlsHeight = controlsView.getHeight(); } if (mShortAnimTime == 0) { mShortAnimTime = getResources().getInteger(android.R.integer.config_shortAnimTime); } controlsView .animate() .translationY(visible ? 0 : mControlsHeight) .setDuration(mShortAnimTime); } else { // If the ViewPropertyAnimator APIs aren't // available, simply show or hide the in-layout UI // controls. controlsView.setVisibility(visible ? View.VISIBLE : View.GONE); } if (visible && AUTO_HIDE) { // Schedule a hide(). delayedHide(AUTO_HIDE_DELAY_MILLIS); } } }); // Set up the user interaction to manually show or hide the system UI. contentView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { if (TOGGLE_ON_CLICK) { mSystemUiHider.toggle(); } else { mSystemUiHider.show(); } } }); // Upon interacting with UI controls, delay any scheduled hide() // operations to prevent the jarring behavior of controls going away // while interacting with the UI. findViewById(R.id.dummy_button).setOnTouchListener(mDelayHideTouchListener); shapeView = (AlarmShapeView) findViewById(R.id.fullscreen_content); shapeView.setCircleColor(Color.BLUE); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); CountDownTimer cdt = new CountDownTimer(Long.MAX_VALUE, 15000) { @Override public void onTick(long millisUntilFinished) { Calendar cal = Calendar.getInstance(); int minute = cal.get(Calendar.MINUTE); // 24 hour format int hourofday = cal.get(Calendar.HOUR_OF_DAY); boolean ok = false; if (hourofday < 6 || hourofday >= 19) { // Before 6 am or after 7 pm ok = false; } else if (hourofday == 6 && minute < 45) { // Between 6 am and 6:44 ok = false; } else { ok = true; } if (ok) { shapeView.setCircleColor(0xFF01BC01); shapeView.setLabelColor(0xFF005400); } else { shapeView.setCircleColor(0xFFBA0B0B); shapeView.setLabelColor(0xFF690000); } SimpleDateFormat sdf = new SimpleDateFormat("h:mma"); shapeView.setLabelText(sdf.format(cal.getTime())); } @Override public void onFinish() {} }; cdt.start(); }
@Override public void run() { mSystemUiHider.hide(); }