diff options
Diffstat (limited to 'cmds/bootanimation/BootAnimation.h')
-rw-r--r-- | cmds/bootanimation/BootAnimation.h | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/cmds/bootanimation/BootAnimation.h b/cmds/bootanimation/BootAnimation.h index d49e1ec837b9..fd497a362fc7 100644 --- a/cmds/bootanimation/BootAnimation.h +++ b/cmds/bootanimation/BootAnimation.h @@ -30,7 +30,6 @@ class SkBitmap; namespace android { -class AudioPlayer; class Surface; class SurfaceComposerClient; class SurfaceControl; @@ -51,6 +50,24 @@ private: virtual void onFirstRef(); virtual void binderDied(const wp<IBinder>& who); + bool updateIsTimeAccurate(); + + class TimeCheckThread : public Thread { + public: + TimeCheckThread(BootAnimation* bootAnimation); + virtual ~TimeCheckThread(); + private: + virtual status_t readyToRun(); + virtual bool threadLoop(); + bool doThreadLoop(); + void addTimeDirWatch(); + + int mInotifyFd; + int mSystemWd; + int mTimeWd; + BootAnimation* mBootAnimation; + }; + struct Texture { GLint w; GLint h; @@ -61,6 +78,10 @@ private: struct Frame { String8 name; FileMap* map; + int trimX; + int trimY; + int trimWidth; + int trimHeight; mutable GLuint tid; bool operator < (const Frame& rhs) const { return name < rhs.name; @@ -72,10 +93,12 @@ private: int clockPosY; // The y position of the clock, in pixels, from the bottom of the // display (the clock is centred horizontally). -1 to disable the clock String8 path; + String8 trimData; SortedVector<Frame> frames; bool playUntilComplete; float backgroundColor[3]; - FileMap* audioFile; + uint8_t* audioData; + int audioLength; Animation* animation; }; int fps; @@ -97,24 +120,28 @@ private: void releaseAnimation(Animation*) const; bool parseAnimationDesc(Animation&); bool preloadZip(Animation &animation); + bool playSoundsAllowed() const; void checkExit(); sp<SurfaceComposerClient> mSession; - sp<AudioPlayer> mAudioPlayer; AssetManager mAssets; Texture mAndroid[2]; Texture mClock; int mWidth; int mHeight; + bool mUseNpotTextures = false; EGLDisplay mDisplay; EGLDisplay mContext; EGLDisplay mSurface; sp<SurfaceControl> mFlingerSurfaceControl; sp<Surface> mFlingerSurface; bool mClockEnabled; + bool mTimeIsAccurate; + bool mSystemBoot; String8 mZipFileName; SortedVector<String8> mLoadedFiles; + sp<TimeCheckThread> mTimeCheckThread; }; // --------------------------------------------------------------------------- |