Ejemplo n.º 1
0
  @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();
  }
Ejemplo n.º 2
0
 @Override
 public void run() {
   mSystemUiHider.hide();
 }