bootanimation_main.cpp revision ac31a3b8b09aba1c5ebc73f0cf65cac2210aa6b7
1627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian/*
2627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian * Copyright (C) 2007 The Android Open Source Project
3627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian *
4627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian * Licensed under the Apache License, Version 2.0 (the "License");
5627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian * you may not use this file except in compliance with the License.
6627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian * You may obtain a copy of the License at
7627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian *
8627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian *      http://www.apache.org/licenses/LICENSE-2.0
9627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian *
10627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian * Unless required by applicable law or agreed to in writing, software
11627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian * distributed under the License is distributed on an "AS IS" BASIS,
12627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian * See the License for the specific language governing permissions and
14627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian * limitations under the License.
15627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian */
16627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian
17627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian#define LOG_TAG "BootAnimation"
18627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian
19ac31a3b8b09aba1c5ebc73f0cf65cac2210aa6b7Mathias Agopian#include <binder/IPCThreadState.h>
20ac31a3b8b09aba1c5ebc73f0cf65cac2210aa6b7Mathias Agopian#include <binder/ProcessState.h>
21ac31a3b8b09aba1c5ebc73f0cf65cac2210aa6b7Mathias Agopian#include <binder/IServiceManager.h>
22627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian#include <utils/Log.h>
23627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian#include <utils/threads.h>
24627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian
25627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian#include <ui/ISurfaceComposer.h>
26627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian
27627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian#if defined(HAVE_PTHREADS)
28627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian# include <pthread.h>
29627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian# include <sys/resource.h>
30627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian#endif
31627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian
32627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian#include "BootAnimation.h"
33627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian
34627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopianusing namespace android;
35627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian
36627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian// ---------------------------------------------------------------------------
37627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian
38627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopianint main(int argc, char** argv)
39627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian{
40627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian#if defined(HAVE_PTHREADS)
41627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian    setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_DISPLAY);
42627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian#endif
43627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian
44627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian    sp<ProcessState> proc(ProcessState::self());
45627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian    ProcessState::self()->startThreadPool();
46627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian
47627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian    // create the boot animation object
48627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian    sp<BootAnimation> boot = new BootAnimation();
49627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian
50627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian    IPCThreadState::self()->joinThreadPool();
51627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian    return 0;
52627e7b50be41e4fdee758a1bfad3a55de56b4e27Mathias Agopian}
53