package Ġces ar fer re ira . android unique device id Ċ Ċ import Ġandroid . content . Context Ċ import Ġjava . util . UUID Ċ Ċ class ĠUnique DeviceId Provider ( private Ġval Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġunique ID : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF _ UNIQUE _ ID Ġ= Ġ" PRE F _ UNIQUE _ DEVICE _ ID " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġfun Ġget UniqueId (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( unique ID Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshared Prefs Ġ= Ġcontext . get SharedPreferences ( PRE F _ UNIQUE _ ID , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique ID Ġ= Ġshared Prefs . getString ( PRE F _ UNIQUE _ ID , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( unique ID Ġ== Ġnull Ġ|| Ġunique ID Ġ== Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunique ID Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġshared Prefs . edit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString ( PRE F _ UNIQUE _ ID , Ġunique ID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . apply () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġunique ID Ġas ĠString ĊĠĠĠ Ġ} Ċ }