IGPAPI
    Preparing search index...

    Interface MobileDeviceState

    interface MobileDeviceState {
        adid: string;
        aymhAccounts?: readonly Record<string, unknown>[];
        build: string;
        connectionType: string;
        descriptor: string;
        familyDeviceSynced?: boolean;
        familyId: string;
        gmsCallRetrieverEligibility?: "eligible" | "not_eligible";
        id: string;
        isFoldable?: boolean;
        isLayoutRTL: boolean;
        language: string;
        networkInfo?: AndroidNetworkInfo;
        phoneId: string;
        pushHpkeIdentity?: PushHpkeIdentity;
        radioType: string;
        timezoneName?: string;
        timezoneOffset: string;
        usdidIdentity?: UsdidIdentity;
        uuid: string;
    }
    Index

    Properties

    adid: string
    aymhAccounts?: readonly Record<string, unknown>[]

    Accounts the device may have (AYMH), sent as client_input_params.aymh_accounts on send_login_request. Device-local saved-account state, empty on a first login. Optional: absent renders [] (the Genymotion captures); the AVD fresh capture carries one blank entry.

    build: string
    connectionType: string
    descriptor: string
    familyDeviceSynced?: boolean

    Persisted flag: whether the family device id / app-scoped device id pair has already been synced with the server. A fresh install syncs it once (FamilyDeviceIDAppScopedDeviceIDSyncMutation); a device that already ran the sync skips it. Absent means not yet synced (fresh), matching the Genymotion fresh and cold captures; the warm AVD capture declares it true.

    familyId: string
    gmsCallRetrieverEligibility?: "eligible" | "not_eligible"

    Google Mobile Services incoming-call-retriever eligibility, sent as client_input_params.gms_incoming_call_retriever_eligibility on send_login_request. The 448 login-home action script picks eligible / not_eligible from a device GMS signal the library cannot query, so it is device state. Optional: absent renders eligible (the Genymotion captures); the AVD fresh capture reports not_eligible.

    id: string
    isFoldable?: boolean

    Device foldable state, sent as x-ig-is-foldable. Optional: absent when the caller does not model the device's fold posture; the Android header layer renders false then. The AVD fresh capture's device is foldable (true); the Genymotion captures report false.

    isLayoutRTL: boolean
    language: string
    networkInfo?: AndroidNetworkInfo

    Optional telephony/network profile. Request builders emit it as si_device_param_network_info only when present.

    phoneId: string
    pushHpkeIdentity?: PushHpkeIdentity

    Lazily populated on first Android push registration. See EnsurePushHpkeIdentity.

    radioType: string
    timezoneName?: string

    IANA timezone name (TimeZone.getDefault().getID()), sent as device_timezone_name on feed-surface requests. Optional: absent when the caller does not model a zone name.

    timezoneOffset: string
    usdidIdentity?: UsdidIdentity

    Lazily populated on first USDID-related operation. See EnsureUsdidIdentity.

    uuid: string