Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
halo
packages_apps_DeskClock
Commits
84c3cd09
Commit
84c3cd09
authored
13 years ago
by
Daniel Sandler
Committed by
Android (Google) Code Review
13 years ago
Browse files
Options
Download
Plain Diff
Merge "Fix bugs in the DeskClock screensaver:" into ics-mr1
parents
191b91f4
e269bd86
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
14 deletions
+54
-14
src/com/android/deskclock/Screensaver.java
src/com/android/deskclock/Screensaver.java
+54
-14
No files found.
src/com/android/deskclock/Screensaver.java
View file @
84c3cd09
...
...
@@ -23,8 +23,12 @@ import android.animation.ObjectAnimator;
import
android.animation.Animator
;
import
android.animation.AnimatorSet
;
import
android.app.Activity
;
import
android.os.BatteryManager
;
import
android.os.Handler
;
import
android.content.BroadcastReceiver
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.IntentFilter
;
import
android.util.AttributeSet
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -35,7 +39,8 @@ import java.lang.Runnable;
import
android.util.Log
;
public
class
Screensaver
extends
Activity
{
View
mContentView
,
mSaverView
;
static
final
boolean
DEBUG
=
false
;
static
final
String
TAG
=
"DeskClock/Screensaver"
;
static
int
CLOCK_COLOR
=
0xFF66AAFF
;
...
...
@@ -45,6 +50,8 @@ public class Screensaver extends Activity {
static
final
boolean
SLIDE
=
false
;
private
View
mContentView
,
mSaverView
;
private
static
TimeInterpolator
mSlowStartWithBrakes
=
new
TimeInterpolator
()
{
public
float
getInterpolation
(
float
x
)
{
...
...
@@ -54,7 +61,28 @@ public class Screensaver extends Activity {
private
Handler
mHandler
=
new
Handler
();
private
Runnable
mMoveSaverRunnable
=
new
Runnable
()
{
private
boolean
mPlugged
=
false
;
private
final
BroadcastReceiver
mPowerIntentReceiver
=
new
BroadcastReceiver
()
{
@Override
public
void
onReceive
(
Context
context
,
Intent
intent
)
{
final
String
action
=
intent
.
getAction
();
if
(
Intent
.
ACTION_BATTERY_CHANGED
.
equals
(
action
))
{
// Only keep the screen on if we're plugged in.
boolean
plugged
=
(
0
!=
intent
.
getIntExtra
(
BatteryManager
.
EXTRA_PLUGGED
,
0
));
if
(
plugged
!=
mPlugged
)
{
if
(
DEBUG
)
Log
.
v
(
TAG
,
plugged
?
"plugged in"
:
"unplugged"
);
mPlugged
=
plugged
;
if
(
mPlugged
)
{
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
else
{
getWindow
().
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
}
}
}
};
private
final
Runnable
mMoveSaverRunnable
=
new
Runnable
()
{
@Override
public
void
run
()
{
long
delay
=
MOVE_DELAY
;
...
...
@@ -87,11 +115,11 @@ public class Screensaver extends Activity {
Animator
yMove
=
ObjectAnimator
.
ofFloat
(
mSaverView
,
"y"
,
mSaverView
.
getY
(),
nexty
);
Animator
xShrink
=
ObjectAnimator
.
ofFloat
(
mSaverView
,
"scaleX"
,
1
f
,
0.
7
5f
);
Animator
xGrow
=
ObjectAnimator
.
ofFloat
(
mSaverView
,
"scaleX"
,
0.
7
5f
,
1
f
);
Animator
xShrink
=
ObjectAnimator
.
ofFloat
(
mSaverView
,
"scaleX"
,
1
f
,
0.
8
5f
);
Animator
xGrow
=
ObjectAnimator
.
ofFloat
(
mSaverView
,
"scaleX"
,
0.
8
5f
,
1
f
);
Animator
yShrink
=
ObjectAnimator
.
ofFloat
(
mSaverView
,
"scaleY"
,
1
f
,
0.
7
5f
);
Animator
yGrow
=
ObjectAnimator
.
ofFloat
(
mSaverView
,
"scaleY"
,
0.
7
5f
,
1
f
);
Animator
yShrink
=
ObjectAnimator
.
ofFloat
(
mSaverView
,
"scaleY"
,
1
f
,
0.
8
5f
);
Animator
yGrow
=
ObjectAnimator
.
ofFloat
(
mSaverView
,
"scaleY"
,
0.
8
5f
,
1
f
);
AnimatorSet
shrink
=
new
AnimatorSet
();
shrink
.
play
(
xShrink
).
with
(
yShrink
);
AnimatorSet
grow
=
new
AnimatorSet
();
grow
.
play
(
xGrow
).
with
(
yGrow
);
...
...
@@ -130,7 +158,8 @@ public class Screensaver extends Activity {
+
(
MOVE_DELAY
-
adjust
)
// minute aligned
-
(
SLIDE
?
0
:
FADE_TIME
)
// start moving before the fade
;
// Log.d("DeskClock/Screensaver", "will move again in " + delay + " now=" + now + " adjusted by " + adjust);
if
(
DEBUG
)
Log
.
d
(
TAG
,
"will move again in "
+
delay
+
" now="
+
now
+
" adjusted by "
+
adjust
);
}
mHandler
.
removeCallbacks
(
this
);
...
...
@@ -146,7 +175,6 @@ public class Screensaver extends Activity {
mSaverView
=
findViewById
(
R
.
id
.
saver_view
);
mContentView
=
(
View
)
mSaverView
.
getParent
();
mSaverView
.
setAlpha
(
0
);
mSaverView
.
setSystemUiVisibility
(
View
.
SYSTEM_UI_FLAG_LOW_PROFILE
);
AndroidClockTextView
timeDisplay
=
(
AndroidClockTextView
)
findViewById
(
R
.
id
.
timeDisplay
);
if
(
timeDisplay
!=
null
)
{
...
...
@@ -155,24 +183,36 @@ public class Screensaver extends Activity {
if
(
amPm
!=
null
)
amPm
.
setTextColor
(
CLOCK_COLOR
);
}
final
IntentFilter
filter
=
new
IntentFilter
();
filter
.
addAction
(
Intent
.
ACTION_BATTERY_CHANGED
);
registerReceiver
(
mPowerIntentReceiver
,
filter
);
}
@Override
public
void
onAttachedToWindow
()
{
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
|
WindowManager
.
LayoutParams
.
FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
|
WindowManager
.
LayoutParams
.
FLAG_SHOW_WHEN_LOCKED
);
WindowManager
.
LayoutParams
.
FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
|
WindowManager
.
LayoutParams
.
FLAG_SHOW_WHEN_LOCKED
);
mSaverView
.
setSystemUiVisibility
(
View
.
SYSTEM_UI_FLAG_LOW_PROFILE
);
}
@Override
public
void
onStop
()
{
unregisterReceiver
(
mPowerIntentReceiver
);
super
.
onStop
();
}
@Override
public
void
onResume
()
{
super
.
onResume
();
// Log.d("DeskClock/Screensaver", "resume");
mHandler
.
post
(
mMoveSaverRunnable
);
}
@Override
public
void
onPause
()
{
super
.
onPause
();
mHandler
.
removeCallbacks
(
mMoveSaverRunnable
);
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment