Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–35 unchanged (35 lines)
36
37 override fun onDetachedFromActivity() {
38 networkApi?.activity = null
39 }
40}
41
42private class NetworkApiImpl() : NetworkApi {
43 var activity: Activity? = null
44
45 override fun addCertificate(clientData: ClientCertData, callback: (Result<Unit>) -> Unit) {
46 try {
47 HttpClientManager.setKeyEntry(clientData.data, clientData.password.toCharArray())
48 callback(Result.success(Unit))
…lines 49–75 unchanged (27 lines)
76 }
77
78 override fun getClientPointer(): Long {
79 return HttpClientManager.getClientPointer()
80 }
81
82 override fun setRequestHeaders(headers: Map<String, String>, serverUrls: List<String>) {
83 HttpClientManager.setRequestHeaders(headers, serverUrls)
84 }
85}
86

After

…lines 1–35 unchanged (35 lines)
36
37 override fun onDetachedFromActivity() {
38 networkApi?.activity = null
39 }
40}
41
42private class NetworkApiImpl : NetworkApi {
43 var activity: Activity? = null
44
45 override fun addCertificate(clientData: ClientCertData, callback: (Result<Unit>) -> Unit) {
46 try {
47 HttpClientManager.setKeyEntry(clientData.data, clientData.password.toCharArray())
48 callback(Result.success(Unit))
…lines 49–75 unchanged (27 lines)
76 }
77
78 override fun getClientPointer(): Long {
79 return HttpClientManager.getClientPointer()
80 }
81
82 override fun setRequestHeaders(headers: Map<String, String>, serverUrls: List<String>, token: String?) {
83 HttpClientManager.setRequestHeaders(headers, serverUrls, token)
84 }
85}
86

Before

source_file
package_header
package "package"
qualified_identifier
identifier "app"
. "."
identifier "alextran"
. "."
identifier "immich"
. "."
identifier "core"
import
import "import"
qualified_identifier
identifier "android"
. "."
identifier "app"
. "."
identifier "Activity"
import
import "import"
qualified_identifier
identifier "android"
. "."
identifier "content"
. "."
identifier "Context"
import
import "import"
qualified_identifier
identifier "android"
. "."
identifier "os"
. "."
identifier "OperationCanceledException"
import
import "import"
qualified_identifier
identifier "android"
. "."
identifier "security"
. "."
identifier "KeyChain"
import
import "import"
qualified_identifier
identifier "app"
. "."
identifier "alextran"
. "."
identifier "immich"
. "."
identifier "NativeBuffer"
import
import "import"
qualified_identifier
identifier "io"
. "."
identifier "flutter"
. "."
identifier "embedding"
. "."
identifier "engine"
. "."
identifier "plugins"
. "."
identifier "FlutterPlugin"
import
import "import"
qualified_identifier
identifier "io"
. "."
identifier "flutter"
. "."
identifier "embedding"
. "."
identifier "engine"
. "."
identifier "plugins"
. "."
identifier "activity"
. "."
identifier "ActivityAware"
import
import "import"
qualified_identifier
identifier "io"
. "."
identifier "flutter"
. "."
identifier "embedding"
. "."
identifier "engine"
. "."
identifier "plugins"
. "."
identifier "activity"
. "."
identifier "ActivityPluginBinding"
class_declaration (+209 nodes collapsed)
class_declaration
modifiers
visibility_modifier
private "private"
class "class"
identifier "NetworkApiImpl"
primary_constructor
class_parameters
( "("
) ")"
: ":"
delegation_specifiers
delegation_specifier
user_type
identifier "NetworkApi"
class_body
{ "{"
property_declaration
var "var"
variable_declaration
identifier "activity"
: ":"
nullable_type
user_type
identifier "Activity"
? "?"
= "="
identifier "null"
function_declaration (+111 nodes collapsed)
function_declaration (+175 nodes collapsed)
function_declaration (+55 nodes collapsed)
function_declaration (+22 nodes collapsed)
function_declaration (+26 nodes collapsed)
function_declaration
modifiers
member_modifier
override "override"
fun "fun"
identifier "setRequestHeaders"
function_value_parameters
( "("
parameter
identifier "headers"
: ":"
user_type
identifier "Map"
type_arguments
< "<"
type_projection
user_type
identifier "String"
, ","
type_projection
user_type
identifier "String"
> ">"
, ","
parameter
identifier "serverUrls"
: ":"
user_type
identifier "List"
type_arguments
< "<"
type_projection
user_type
identifier "String"
> ">"
) ")"
function_body
block
{ "{"
call_expression
navigation_expression
identifier "HttpClientManager"
. "."
identifier "setRequestHeaders"
value_arguments
( "("
value_argument
identifier "headers"
, ","
value_argument
identifier "serverUrls"
) ")"
} "}"
} "}"

After

source_file
package_header
package "package"
qualified_identifier
identifier "app"
. "."
identifier "alextran"
. "."
identifier "immich"
. "."
identifier "core"
import
import "import"
qualified_identifier
identifier "android"
. "."
identifier "app"
. "."
identifier "Activity"
import
import "import"
qualified_identifier
identifier "android"
. "."
identifier "content"
. "."
identifier "Context"
import
import "import"
qualified_identifier
identifier "android"
. "."
identifier "os"
. "."
identifier "OperationCanceledException"
import
import "import"
qualified_identifier
identifier "android"
. "."
identifier "security"
. "."
identifier "KeyChain"
import
import "import"
qualified_identifier
identifier "app"
. "."
identifier "alextran"
. "."
identifier "immich"
. "."
identifier "NativeBuffer"
import
import "import"
qualified_identifier
identifier "io"
. "."
identifier "flutter"
. "."
identifier "embedding"
. "."
identifier "engine"
. "."
identifier "plugins"
. "."
identifier "FlutterPlugin"
import
import "import"
qualified_identifier
identifier "io"
. "."
identifier "flutter"
. "."
identifier "embedding"
. "."
identifier "engine"
. "."
identifier "plugins"
. "."
identifier "activity"
. "."
identifier "ActivityAware"
import
import "import"
qualified_identifier
identifier "io"
. "."
identifier "flutter"
. "."
identifier "embedding"
. "."
identifier "engine"
. "."
identifier "plugins"
. "."
identifier "activity"
. "."
identifier "ActivityPluginBinding"
class_declaration (+209 nodes collapsed)
class_declaration
modifiers
visibility_modifier
private "private"
class "class"
identifier "NetworkApiImpl"
: ":"
delegation_specifiers
delegation_specifier
user_type
identifier "NetworkApi"
class_body
{ "{"
property_declaration
var "var"
variable_declaration
identifier "activity"
: ":"
nullable_type
user_type
identifier "Activity"
? "?"
= "="
identifier "null"
function_declaration (+111 nodes collapsed)
function_declaration (+175 nodes collapsed)
function_declaration (+55 nodes collapsed)
function_declaration (+22 nodes collapsed)
function_declaration (+26 nodes collapsed)
function_declaration
modifiers
member_modifier
override "override"
fun "fun"
identifier "setRequestHeaders"
function_value_parameters
( "("
parameter
identifier "headers"
: ":"
user_type
identifier "Map"
type_arguments
< "<"
type_projection
user_type
identifier "String"
, ","
type_projection
user_type
identifier "String"
> ">"
, ","
parameter
identifier "serverUrls"
: ":"
user_type
identifier "List"
type_arguments
< "<"
type_projection
user_type
identifier "String"
> ">"
, ","
parameter
identifier "token"
: ":"
nullable_type
user_type
identifier "String"
? "?"
) ")"
function_body
block
{ "{"
call_expression
navigation_expression
identifier "HttpClientManager"
. "."
identifier "setRequestHeaders"
value_arguments
( "("
value_argument
identifier "headers"
, ","
value_argument
identifier "serverUrls"
, ","
value_argument
identifier "token"
) ")"
} "}"
} "}"