我正在学习android源代码并研究了LightsService
框架。
我知道这些编码因设备而异。但是在看到以下代码时,我感到困惑。
static int set_light_leds(struct light_state_t const *state, int type)
{
struct an30259a_pr_control led;
memset(&led, 0, sizeof(led));
switch (state->flashMode) {
case LIGHT_FLASH_NONE:
led.state = LED_LIGHT_OFF;
break;
case LIGHT_FLASH_TIMED:
case LIGHT_FLASH_HARDWARE:
led.state = LED_LIGHT_SLOPE;
led.color = state->color & 0x00ffffff;
// tweak to eliminate purplish tint from white color
if (led.color == 0x00ffffff)
led.color = 0x80ff80;
// scale slope times based on flashOnMS
led.time_slope_up_1 = (SLOPE_UP_1 * state->flashOnMS) / 1000;
led.time_slope_up_2 = (SLOPE_UP_2 * state->flashOnMS) / 1000;
led.time_slope_down_1 = (SLOPE_DOWN_1 * state->flashOnMS) / 1000;
led.time_slope_down_2 = (SLOPE_DOWN_2 * state->flashOnMS) / 1000;
led.mid_brightness = MID_BRIGHTNESS;
led.time_off = state->flashOffMS;
break;
default:
return -EINVAL;
}
return write_leds(&led);
}
static int set_light_leds_notifications(struct light_device_t *dev,
struct light_state_t const *state)
{
return set_light_leds(state, 0);
}
static int set_light_leds_attention(struct light_device_t *dev,
struct light_state_t const *state)
{
return set_light_leds(state, 1);
}
我的第一个问题是:
set_light_leds_notifications()
并且在调用函数set_light_leds_attention()
时使用不同的第二个参数。set_light_leds()
但是 set_light_leds() 函数在其定义中根本没有使用 int 类型。
然后,
它们之间有什么区别?
分别调用它们的目的是什么?
我的第二个问题是:
- android应用程序中的通知和注意之间有什么一般区别?
我知道两者都用于通知用户有关信息。但我想了解更多关于这些差异的细节,特别是在哪些情况下,注意力比通知更重要。