I'm seeing this in logcat sometimes, but don't know what it means.
I'm seeing this in logcat sometimes, but don't know what it means.
I solved by passing view on in function argument
My XML
<TextView
android:onClick="@{ (view) -> handler.showSectionSelectionDialog(view) }"
My fragment
fun showSectionSelectionDialog(view: View) {
Log.d(TAG, "showSectionSelection: clicked")
}
Its a binder message from onTransact(). if the process calling the service does not have the appropriate selinux permissions. http://selinuxproject.org/page/NB_SEforAndroid_1#Android_Classes_and_Permissions. you can simulate/get the same error from this snippet.
public void Run(){
try {
Process process = Runtime.getRuntime().exec("/system/bin/cmd wifi");
BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(process.getInputStream()));
StringBuilder result=new StringBuilder();
String line = "";
while ((line = bufferedReader.readLine()) != null) {
result.append(line);
}
TextView tv = (TextView)findViewById(R.id.sample_text);
Log.d(TAG, "Run: "+result.toString());
tv.setText(result.toString());
}
catch (IOException e) {
e.printStackTrace();
}
return;
}
returns the same logcat error.
(the cmd binary in adb sends a shellCommand binder transaction).
running adb shell wifi runs the command correctly though, since the shell selinux context has the appropriate permissions.