NaTo1000/termux-app-bucket / termux-shared /src /main /java /com /termux /shared /shell /am /AmSocketServerRunConfig.java
NaTo1000's picture
download
raw
3.94 kB
package com.termux.shared.shell.am;
import android.Manifest;
import androidx.annotation.NonNull;
import com.termux.shared.logger.Logger;
import com.termux.shared.markdown.MarkdownUtils;
import com.termux.shared.net.socket.local.ILocalSocketManager;
import com.termux.shared.net.socket.local.LocalSocketRunConfig;
import java.io.Serializable;
/**
* Run config for {@link AmSocketServer}.
*/
public class AmSocketServerRunConfig extends LocalSocketRunConfig implements Serializable {
/**
* Check if {@link Manifest.permission#SYSTEM_ALERT_WINDOW} has been granted if running on Android `>= 10`
* if starting activities. Will also check when starting services in case starting foreground
* service is not allowed.
*
* https://developer.android.com/guide/components/activities/background-starts
*/
private Boolean mCheckDisplayOverAppsPermission;
public static final boolean DEFAULT_CHECK_DISPLAY_OVER_APPS_PERMISSION = true;
/**
* Create an new instance of {@link AmSocketServerRunConfig}.
*
* @param title The {@link #mTitle} value.
* @param path The {@link #mPath} value.
* @param localSocketManagerClient The {@link #mLocalSocketManagerClient} value.
*/
public AmSocketServerRunConfig(@NonNull String title, @NonNull String path, @NonNull ILocalSocketManager localSocketManagerClient) {
super(title, path, localSocketManagerClient);
}
/** Get {@link #mCheckDisplayOverAppsPermission} if set, otherwise {@link #DEFAULT_CHECK_DISPLAY_OVER_APPS_PERMISSION}. */
public boolean shouldCheckDisplayOverAppsPermission() {
return mCheckDisplayOverAppsPermission != null ? mCheckDisplayOverAppsPermission : DEFAULT_CHECK_DISPLAY_OVER_APPS_PERMISSION;
}
/** Set {@link #mCheckDisplayOverAppsPermission}. */
public void setCheckDisplayOverAppsPermission(Boolean checkDisplayOverAppsPermission) {
mCheckDisplayOverAppsPermission = checkDisplayOverAppsPermission;
}
/**
* Get a log {@link String} for {@link AmSocketServerRunConfig}.
*
* @param config The {@link AmSocketServerRunConfig} to get info of.
* @return Returns the log {@link String}.
*/
@NonNull
public static String getRunConfigLogString(final AmSocketServerRunConfig config) {
if (config == null) return "null";
return config.getLogString();
}
/** Get a log {@link String} for the {@link AmSocketServerRunConfig}. */
@NonNull
public String getLogString() {
StringBuilder logString = new StringBuilder();
logString.append(super.getLogString()).append("\n\n\n");
logString.append("Am Command:");
logString.append("\n").append(Logger.getSingleLineLogStringEntry("CheckDisplayOverAppsPermission", shouldCheckDisplayOverAppsPermission(), "-"));
return logString.toString();
}
/**
* Get a markdown {@link String} for {@link AmSocketServerRunConfig}.
*
* @param config The {@link AmSocketServerRunConfig} to get info of.
* @return Returns the markdown {@link String}.
*/
public static String getRunConfigMarkdownString(final AmSocketServerRunConfig config) {
if (config == null) return "null";
return config.getMarkdownString();
}
/** Get a markdown {@link String} for the {@link AmSocketServerRunConfig}. */
@NonNull
public String getMarkdownString() {
StringBuilder markdownString = new StringBuilder();
markdownString.append(super.getMarkdownString()).append("\n\n\n");
markdownString.append("## ").append("Am Command");
markdownString.append("\n").append(MarkdownUtils.getSingleLineMarkdownStringEntry("CheckDisplayOverAppsPermission", shouldCheckDisplayOverAppsPermission(), "-"));
return markdownString.toString();
}
@NonNull
@Override
public String toString() {
return getLogString();
}
}

Xet Storage Details

Size:
3.94 kB
·
Xet hash:
542448149ff6cb7783cc2d090085ab5e0bc5ed87798b21073383322b9405a883

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.