Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12b26649 authored by choongryeol.lee's avatar choongryeol.lee Committed by Android Git Automerger
Browse files

am 9255713b: charger: suspend enable in charger mode

* commit '9255713b':
  charger: suspend enable in charger mode
parents 6d3e6099 9255713b
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -12,6 +12,10 @@ ifeq ($(strip $(BOARD_CHARGER_DISABLE_INIT_BLANK)),true)
LOCAL_CFLAGS := -DCHARGER_DISABLE_INIT_BLANK
endif

ifeq ($(strip $(BOARD_CHARGER_ENABLE_SUSPEND)),true)
LOCAL_CFLAGS += -DCHARGER_ENABLE_SUSPEND
endif

LOCAL_MODULE := charger
LOCAL_MODULE_TAGS := optional
LOCAL_FORCE_STATIC_EXECUTABLE := true
@@ -21,6 +25,9 @@ LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)
LOCAL_C_INCLUDES := bootable/recovery

LOCAL_STATIC_LIBRARIES := libminui libpixelflinger_static libpng
ifeq ($(strip $(BOARD_CHARGER_ENABLE_SUSPEND)),true)
LOCAL_STATIC_LIBRARIES += libsuspend
endif
LOCAL_STATIC_LIBRARIES += libz libstdc++ libcutils libm libc

include $(BUILD_EXECUTABLE)
+22 −1
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@
#include <cutils/misc.h>
#include <cutils/uevent.h>

#include <suspend/autosuspend.h>

#include "minui/minui.h"

#ifndef max
@@ -352,6 +354,21 @@ static void remove_supply(struct charger *charger, struct power_supply *supply)
    free(supply);
}

#ifdef CHARGER_ENABLE_SUSPEND
static int request_suspend(bool enable)
{
    if (enable)
        return autosuspend_enable();
    else
        return autosuspend_disable();
}
#else
static int request_suspend(bool enable)
{
    return 0;
}
#endif

static void parse_uevent(const char *msg, struct uevent *uevent)
{
    uevent->action = "";
@@ -685,6 +702,7 @@ static void update_screen_state(struct charger *charger, int64_t now)
        charger->next_screen_transition = -1;
        gr_fb_blank(true);
        LOGV("[%lld] animation done\n", now);
        request_suspend(true);
        return;
    }

@@ -824,10 +842,12 @@ static void process_key(struct charger *charger, int code, int64_t now)
            }
        } else {
            /* if the power key got released, force screen state cycle */
            if (key->pending)
            if (key->pending) {
                request_suspend(false);
                kick_animation(charger->batt_anim);
            }
        }
    }

    key->pending = false;
}
@@ -843,6 +863,7 @@ static void handle_input_state(struct charger *charger, int64_t now)
static void handle_power_supply_state(struct charger *charger, int64_t now)
{
    if (charger->num_supplies_online == 0) {
        request_suspend(false);
        if (charger->next_pwr_check == -1) {
            charger->next_pwr_check = now + UNPLUGGED_SHUTDOWN_TIME;
            LOGI("[%lld] device unplugged: shutting down in %lld (@ %lld)\n",