File tree Expand file tree Collapse file tree 1 file changed +9
-3
lines changed
server/src/main/java/com/genymobile/scrcpy Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change 55import android .annotation .SuppressLint ;
66import android .annotation .TargetApi ;
77import android .content .AttributionSource ;
8- import android .content .ClipboardManager ;
98import android .content .ContentResolver ;
109import android .content .Context ;
1110import android .content .ContextWrapper ;
@@ -91,6 +90,11 @@ public Context getApplicationContext() {
9190 return this ;
9291 }
9392
93+ @ Override
94+ public Context createPackageContext (String packageName , int flags ) {
95+ return this ;
96+ }
97+
9498 @ Override
9599 public ContentResolver getContentResolver () {
96100 return contentResolver ;
@@ -104,9 +108,11 @@ public Object getSystemService(String name) {
104108 return null ;
105109 }
106110
107- if (Context .CLIPBOARD_SERVICE .equals (name )) {
111+ // "semclipboard" is a Samsung-internal service
112+ // See <https://github.com/Genymobile/scrcpy/issues/6224>
113+ if (Context .CLIPBOARD_SERVICE .equals (name ) || "semclipboard" .equals (name )) {
108114 try {
109- Field field = ClipboardManager . class .getDeclaredField ("mContext" );
115+ Field field = service . getClass () .getDeclaredField ("mContext" );
110116 field .setAccessible (true );
111117 field .set (service , this );
112118 } catch (ReflectiveOperationException e ) {
You can’t perform that action at this time.
0 commit comments