termux-app

Форк
0
/
AmSocketServerRunConfig.java 
108 строк · 3.9 Кб
1
package com.termux.shared.shell.am;
2

3
import android.Manifest;
4

5
import androidx.annotation.NonNull;
6

7
import com.termux.shared.logger.Logger;
8
import com.termux.shared.markdown.MarkdownUtils;
9
import com.termux.shared.net.socket.local.ILocalSocketManager;
10
import com.termux.shared.net.socket.local.LocalSocketRunConfig;
11

12
import java.io.Serializable;
13

14
/**
15
 * Run config for {@link AmSocketServer}.
16
 */
17
public class AmSocketServerRunConfig extends LocalSocketRunConfig implements Serializable {
18

19
    /**
20
     * Check if {@link Manifest.permission#SYSTEM_ALERT_WINDOW} has been granted if running on Android `>= 10`
21
     * if starting activities. Will also check when starting services in case starting foreground
22
     * service is not allowed.
23
     *
24
     * https://developer.android.com/guide/components/activities/background-starts
25
     */
26
    private Boolean mCheckDisplayOverAppsPermission;
27
    public static final boolean DEFAULT_CHECK_DISPLAY_OVER_APPS_PERMISSION = true;
28

29
    /**
30
     * Create an new instance of {@link AmSocketServerRunConfig}.
31
     *
32
     * @param title The {@link #mTitle} value.
33
     * @param path The {@link #mPath} value.
34
     * @param localSocketManagerClient The {@link #mLocalSocketManagerClient} value.
35
     */
36
    public AmSocketServerRunConfig(@NonNull String title, @NonNull String path, @NonNull ILocalSocketManager localSocketManagerClient) {
37
        super(title, path, localSocketManagerClient);
38
    }
39

40

41
    /** Get {@link #mCheckDisplayOverAppsPermission} if set, otherwise {@link #DEFAULT_CHECK_DISPLAY_OVER_APPS_PERMISSION}. */
42
    public boolean shouldCheckDisplayOverAppsPermission() {
43
        return mCheckDisplayOverAppsPermission != null ? mCheckDisplayOverAppsPermission : DEFAULT_CHECK_DISPLAY_OVER_APPS_PERMISSION;
44
    }
45

46
    /** Set {@link #mCheckDisplayOverAppsPermission}. */
47
    public void setCheckDisplayOverAppsPermission(Boolean checkDisplayOverAppsPermission) {
48
        mCheckDisplayOverAppsPermission = checkDisplayOverAppsPermission;
49
    }
50

51

52

53
    /**
54
     * Get a log {@link String} for {@link AmSocketServerRunConfig}.
55
     *
56
     * @param config The {@link AmSocketServerRunConfig} to get info of.
57
     * @return Returns the log {@link String}.
58
     */
59
    @NonNull
60
    public static String getRunConfigLogString(final AmSocketServerRunConfig config) {
61
        if (config == null) return "null";
62
        return config.getLogString();
63
    }
64

65
    /** Get a log {@link String} for the {@link AmSocketServerRunConfig}. */
66
    @NonNull
67
    public String getLogString() {
68
        StringBuilder logString = new StringBuilder();
69
        logString.append(super.getLogString()).append("\n\n\n");
70

71
        logString.append("Am Command:");
72
        logString.append("\n").append(Logger.getSingleLineLogStringEntry("CheckDisplayOverAppsPermission", shouldCheckDisplayOverAppsPermission(), "-"));
73

74
        return logString.toString();
75
    }
76

77
    /**
78
     * Get a markdown {@link String} for {@link AmSocketServerRunConfig}.
79
     *
80
     * @param config The {@link AmSocketServerRunConfig} to get info of.
81
     * @return Returns the markdown {@link String}.
82
     */
83
    public static String getRunConfigMarkdownString(final AmSocketServerRunConfig config) {
84
        if (config == null) return "null";
85
        return config.getMarkdownString();
86
    }
87

88
    /** Get a markdown {@link String} for the {@link AmSocketServerRunConfig}. */
89
    @NonNull
90
    public String getMarkdownString() {
91
        StringBuilder markdownString = new StringBuilder();
92
        markdownString.append(super.getMarkdownString()).append("\n\n\n");
93

94
        markdownString.append("## ").append("Am Command");
95
        markdownString.append("\n").append(MarkdownUtils.getSingleLineMarkdownStringEntry("CheckDisplayOverAppsPermission", shouldCheckDisplayOverAppsPermission(), "-"));
96

97
        return markdownString.toString();
98
    }
99

100

101

102
    @NonNull
103
    @Override
104
    public String toString() {
105
        return getLogString();
106
    }
107

108
}
109

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.