2

私はアンドロイドのソースコードについて学んでおり、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()関数の呼び出し中に、別の 2 番目のパラメーターを使用していますset_light_leds()

しかし、set_light_leds() 関数は定義で int 型をまったく使用していませんでした。

それで、

  • それらの違いは何ですか?

  • それらを別々に呼び出す目的は何ですか?

私の2番目の質問は次のとおりです。

  • Androidアプリケーションの通知と注意の一般的な違いは何ですか?

どちらもユーザーに情報を通知するために使用されることを知っています。しかし、私はそれらの違いと、特に通知よりも注意が重要な状況について詳しく知りたい.

4

1 に答える 1