package com.amaze.filemanager.services.ftpservice; import android.annotation.TargetApi; import android.content.Intent; import android.os.Build; import android.service.quicksettings.Tile; import android.service.quicksettings.TileService; import android.widget.Toast; import com.amaze.filemanager.R; /** * Created by vishal on 1/1/17. */ @TargetApi(Build.VERSION_CODES.N) public class FTPTileService extends TileService { // callbacks are not guaranteed to be called serially, so initialize this before use private Tile mTile; @Override public void onTileAdded() { super.onTileAdded(); mTile = getQsTile(); mTile.setState(Tile.STATE_INACTIVE); mTile.updateTile(); } @Override public void onClick() { super.onClick(); mTile = getQsTile(); if (!FTPService.isRunning()) { if (FTPService.isConnectedToWifi(getApplicationContext())) { startServer(); mTile.setState(Tile.STATE_ACTIVE); mTile.updateTile(); } else { mTile.setState(Tile.STATE_INACTIVE); mTile.updateTile(); Toast.makeText(getApplicationContext(), getString(R.string.ftp_no_wifi), Toast.LENGTH_LONG).show(); } } else { stopServer(); mTile.setState(Tile.STATE_INACTIVE); mTile.updateTile(); } } /** * Sends a broadcast to start ftp server */ private void startServer() { getApplicationContext().sendBroadcast(new Intent(FTPService.ACTION_START_FTPSERVER)); } /** * Sends a broadcast to stop ftp server */ private void stopServer() { getApplicationContext().sendBroadcast(new Intent(FTPService.ACTION_STOP_FTPSERVER)); } }