package Ġcom . j enn ifer . andy . simple ey es . player Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . Window ĊĊ Ċ /** Ċ Ġ* ĠAuthor : Ġ Ġand y . x wt Ċ Ġ* ĠDate : ĠĠĠĠ 2 0 2 0 / 3 / 9 Ġ 1 5 : 0 7 Ċ Ġ* ĠDescription : Ċ Ġ*/ Ċ Ċ private Ġconst Ġval ĠPH ONE _ WINDOW _ CLASS _ NAME Ġ= Ġ" com . android . internal . policy . Phone Window " Ċ private Ġconst Ġval ĠPOL ICY _ MANAGER _ CLASS _ NAME Ġ= Ġ" com . android . internal . policy . Policy Manager " ĊĊ Ċ class ĠPolicy Compat Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠéĢļè¿ĩ åıį å°Ħ æĭ¿ ä¸įåĪ° phone Window ï¼Į å½ĵ è¯¥ æĸ¹æ³ķ å¤±è´¥ æĹ¶ ï¼Į éĢļè¿ĩ [ make New Window ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcreate Phone Window ( context : ĠContext ): ĠWindow Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclazz Ġ= ĠClass . forName ( PHONE _ WINDOW _ CLASS _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc Ġ= Ġclazz . get Constructor ( Context :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc . newInstance ( context ) Ġas ĠWindow ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmake New Window ( context ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmake New Window ( context : ĠContext ): ĠWindow Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclazz Ġ= ĠClass . forName ( POLICY _ MANAGER _ CLASS _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm Ġ= Ġclazz . getMethod (" make New Window ", ĠContext :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm . invoke ( null , Ġcontext ) Ġas ĠWindow ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException ( e . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ