Android: don't compile stubs.c and kill off libuisimulator entirely.
Seperate make rules in a almost empty android.make. Also add forgotten powermgmt-android.c git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27977 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
24424bab2a
commit
f8381d9c39
5 changed files with 130 additions and 7 deletions
16
android/android.make
Normal file
16
android/android.make
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# __________ __ ___.
|
||||||
|
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
# \/ \/ \/ \/ \/
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
|
||||||
|
# pretty empty here: android port has no additional .c files to compile,
|
||||||
|
# but a different rule for the final librockbox.so
|
||||||
|
|
||||||
|
.SECONDEXPANSION: # $$(OBJ) is not populated until after this
|
||||||
|
|
||||||
|
$(BUILDDIR)/$(BINARY): $$(OBJ) $(VOICESPEEXLIB) $(FIRMLIB) $(SKINLIB)
|
||||||
|
$(call PRINTS,LD $(BINARY))$(CC) -o $@ $^ $(LDOPTS) $(GLOBAL_LDOPTS)
|
|
@ -51,12 +51,31 @@ struct storage_info
|
||||||
char *revision;
|
char *revision;
|
||||||
};
|
};
|
||||||
|
|
||||||
#if (CONFIG_PLATFORM & PLATFORM_NATIVE) && !defined(CONFIG_STORAGE_MULTI)
|
#if (CONFIG_STORAGE == 0)
|
||||||
|
/* stubs for the plugin api */
|
||||||
|
static inline void stub_storage_sleep(void) {}
|
||||||
|
static inline void stub_storage_spin(void) {}
|
||||||
|
static inline void stub_storage_spindown(int timeout) { (void)timeout; }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_STORAGE) && !defined(CONFIG_STORAGE_MULTI)
|
||||||
/* storage_spindown, storage_sleep and storage_spin are passed as
|
/* storage_spindown, storage_sleep and storage_spin are passed as
|
||||||
* pointers, which doesn't work with argument-macros.
|
* pointers, which doesn't work with argument-macros.
|
||||||
*/
|
*/
|
||||||
#define storage_num_drives() NUM_DRIVES
|
#define storage_num_drives() NUM_DRIVES
|
||||||
#if (CONFIG_STORAGE & STORAGE_ATA)
|
#if (CONFIG_STORAGE == 0) /* application */
|
||||||
|
#define STORANGE_FUNCTION(NAME) (stub_## NAME)
|
||||||
|
#define storage_spindown stub_storage_spindown
|
||||||
|
#define storage_sleep stub_storage_sleep
|
||||||
|
#define storage_spin stub_storage_spin
|
||||||
|
|
||||||
|
#define storage_enable(on)
|
||||||
|
#define storage_sleepnow()
|
||||||
|
#define storage_disk_is_active()
|
||||||
|
#define storage_soft_reset()
|
||||||
|
#define storage_init()
|
||||||
|
#define storage_close()
|
||||||
|
#elif (CONFIG_STORAGE & STORAGE_ATA)
|
||||||
#define STORAGE_FUNCTION(NAME) (ata_## NAME)
|
#define STORAGE_FUNCTION(NAME) (ata_## NAME)
|
||||||
#define storage_spindown ata_spindown
|
#define storage_spindown ata_spindown
|
||||||
#define storage_sleep ata_sleep
|
#define storage_sleep ata_sleep
|
||||||
|
|
86
firmware/target/hosted/android/powermgmt-android.c
Normal file
86
firmware/target/hosted/android/powermgmt-android.c
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* __________ __ ___.
|
||||||
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
* \/ \/ \/ \/ \/
|
||||||
|
* $Id$
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 by Thomas Martitz
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||||
|
* KIND, either express or implied.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#include <jni.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
extern JNIEnv *env_ptr;
|
||||||
|
extern jclass RockboxService_class;
|
||||||
|
extern jobject RockboxService_instance;
|
||||||
|
|
||||||
|
static jfieldID _battery_level;
|
||||||
|
|
||||||
|
void powermgmt_init_target(void)
|
||||||
|
{
|
||||||
|
jmethodID initBatteryMonitor = (*env_ptr)->GetMethodID(env_ptr,
|
||||||
|
RockboxService_class,
|
||||||
|
"initBatteryMonitor",
|
||||||
|
"()V");
|
||||||
|
/* start the monitor */
|
||||||
|
(*env_ptr)->CallVoidMethod(env_ptr,
|
||||||
|
RockboxService_instance,
|
||||||
|
initBatteryMonitor);
|
||||||
|
|
||||||
|
/* cache the battery level field id */
|
||||||
|
_battery_level = (*env_ptr)->GetFieldID(env_ptr,
|
||||||
|
RockboxService_class,
|
||||||
|
"battery_level",
|
||||||
|
"I");
|
||||||
|
}
|
||||||
|
|
||||||
|
int battery_level(void)
|
||||||
|
{
|
||||||
|
return (*env_ptr)->GetIntField(env_ptr, RockboxService_instance, _battery_level);
|
||||||
|
}
|
||||||
|
|
||||||
|
int battery_time(void)
|
||||||
|
{ /* cannot calculate yet */
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* could be useful to stop the service after some time of inactivity */
|
||||||
|
void reset_poweroff_timer(void) {}
|
||||||
|
void set_poweroff_timeout(int timeout) { (void)timeout; };
|
||||||
|
|
||||||
|
/* should always be safe on android targets, the host shuts us down before */
|
||||||
|
bool battery_level_safe(void)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TODO */
|
||||||
|
unsigned battery_voltage(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int sleeptime;
|
||||||
|
void set_sleep_timer(int seconds)
|
||||||
|
{
|
||||||
|
sleeptime = seconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
int get_sleep_timer(void)
|
||||||
|
{
|
||||||
|
return sleeptime;
|
||||||
|
}
|
|
@ -97,10 +97,14 @@ else
|
||||||
include $(APPSDIR)/plugins/plugins.make
|
include $(APPSDIR)/plugins/plugins.make
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef APP_TYPE
|
ifneq (,$(findstring sdl,$(APP_TYPE)))
|
||||||
include $(ROOTDIR)/uisimulator/uisimulator.make
|
include $(ROOTDIR)/uisimulator/uisimulator.make
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq (,$(findstring android, $(APP_TYPE)))
|
||||||
|
include $(ROOTDIR)/android/android.make
|
||||||
|
endif
|
||||||
|
|
||||||
endif # bootloader
|
endif # bootloader
|
||||||
|
|
||||||
OBJ := $(SRC:.c=.o)
|
OBJ := $(SRC:.c=.o)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef APPLICATION
|
#ifdef SIMULATOR
|
||||||
lcd-common.c
|
lcd-common.c
|
||||||
#ifdef HAVE_LCD_CHARCELLS
|
#ifdef HAVE_LCD_CHARCELLS
|
||||||
font-player.c
|
font-player.c
|
||||||
|
@ -9,10 +9,8 @@ fmradio.c
|
||||||
backlight-sim.c
|
backlight-sim.c
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (CONFIG_PLATFORM & PLATFORM_SDL)
|
|
||||||
io.c
|
io.c
|
||||||
sim_tasks.c
|
sim_tasks.c
|
||||||
powermgmt-sim.c
|
powermgmt-sim.c
|
||||||
#endif
|
|
||||||
/* this is still needed for application since it has some stubs */
|
|
||||||
stubs.c
|
stubs.c
|
||||||
|
/* this is still needed for application since it has some stubs */
|
||||||
|
|
Loading…
Reference in a new issue