package com.xc3fff0e.xmanager; import androidx.appcompat.app.AppCompatActivity; import android.app.*; import android.os.*; import android.view.*; import android.view.View.*; import android.widget.*; import android.content.*; import android.graphics.*; import android.media.*; import android.net.*; import android.text.*; import android.util.*; import android.webkit.*; import android.animation.*; import android.view.animation.*; import java.util.*; import java.text.*; import java.util.HashMap; import java.util.ArrayList; import android.widget.LinearLayout; import android.widget.ScrollView; import android.widget.TextView; import android.widget.ImageView; import android.widget.Switch; import android.widget.EditText; import android.widget.ListView; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.app.AlertDialog; import android.content.DialogInterface; import java.util.Timer; import java.util.TimerTask; import android.content.Intent; import android.net.Uri; import android.app.Activity; import android.content.SharedPreferences; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.ValueEventListener; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.GenericTypeIndicator; import com.google.firebase.database.ChildEventListener; import android.widget.CompoundButton; import android.view.View; import android.text.Editable; import android.text.TextWatcher; import android.graphics.Typeface; import android.content.ClipData; import android.content.ClipboardManager; import androidx.core.content.ContextCompat; import androidx.core.app.ActivityCompat; import android.Manifest; import android.content.pm.PackageManager; public class MainActivity extends AppCompatActivity { private Timer _timer = new Timer(); private FirebaseDatabase _firebase = FirebaseDatabase.getInstance(); private double CHECK = 0; private String Latest_Version = ""; private String Current_Version = ""; private String Package_Name = ""; private HashMap Versions = new HashMap<>(); private String PATH = ""; private double COUNTER = 0; private double DELETE = 0; private String VERSIONS_REGULAR = ""; private String VERSIONS_AMOLED = ""; private String download_selected_0 = ""; private String download_ready_0 = ""; private String download_ready_desc_0 = ""; private String downloading_file_0 = ""; private String download_success_0 = ""; private String copy_url_desc_0 = ""; private String file_directory_0 = ""; private String copy_url_0 = ""; private String download_0 = ""; private String cancel_0 = ""; private String continue_0 = ""; private String later_0 = ""; private String directory_0 = ""; private String install_now_0 = ""; private String go_back_0 = ""; private String install_update_0 = ""; private ArrayList> listdata = new ArrayList<>(); private ArrayList> Versions_1 = new ArrayList<>(); private ArrayList> others = new ArrayList<>(); private LinearLayout box_header; private LinearLayout main_body_optimization; private ScrollView main_scroll_settings; private ScrollView main_scroll_about; private main_refresh_layout; private TextView title_header; private LinearLayout box_header_tab; private LinearLayout box_switch; private LinearLayout box_update; private ImageView icon_switch; private ImageView icon_update; private TextView hidden_download; private TextView app_changelogs; private TextView download_selected; private TextView download_ready; private TextView download_ready_desc; private TextView downloading_file; private TextView download_success; private TextView copy_url_desc; private TextView main_title; private TextView settings_title; private TextView about_title; private TextView file_directory; private TextView new_update; private TextView continue_1; private TextView cancel; private TextView download; private TextView later; private TextView directory; private TextView install_now; private TextView install_update; private TextView go_back; private TextView download_update; private TextView not_now; private TextView copy_url; private TextView show_support; private TextView show_support_desc; private LinearLayout main_body_settings; private LinearLayout box_settings_close; private LinearLayout main_box_8; private LinearLayout main_box_11; private LinearLayout main_box_12; private LinearLayout main_box_7; private LinearLayout main_box_5; private LinearLayout main_box_9; private LinearLayout main_box_10; private LinearLayout main_box_13; private LinearLayout box_settings_icon_close; private ImageView settings_icon_close; private LinearLayout box_8_sub_1; private LinearLayout box_8_sub_2; private TextView list_auto_refresh; private LinearLayout box_list_auto_refresh; private Switch list_auto_refresh_switch; private TextView list_auto_refresh_info; private LinearLayout box_11_sub_1; private LinearLayout box_11_sub_2; private TextView force_auto_install; private LinearLayout box_force_auto_install; private Switch force_auto_install_switch; private TextView force_auto_install_info; private LinearLayout box_12_sub_1; private LinearLayout box_12_sub_2; private TextView copy_url_mode; private LinearLayout box_copy_url_mode; private Switch copy_url_mode_switch; private TextView copy_file_url_mode_info; private LinearLayout box_7_sub_1; private TextView navigation_bar; private LinearLayout box_navigation_switch; private Switch navigation_switch; private LinearLayout box_5_sub_1; private LinearLayout box_5_sub_2; private TextView theme; private LinearLayout box_theme_switch; private Switch theme_switch; private LinearLayout box_theme_0; private LinearLayout box_theme_1; private LinearLayout box_theme_2; private LinearLayout box_theme_3; private LinearLayout box_theme_4; private LinearLayout box_theme_5; private LinearLayout box_theme_6; private TextView green_theme; private LinearLayout box_green_switch; private Switch green_switch; private TextView purple_theme; private LinearLayout box_purple_switch; private Switch purple_switch; private TextView red_theme; private LinearLayout box_red_switch; private Switch red_switch; private TextView blue_theme; private LinearLayout box_blue_switch; private Switch blue_switch; private TextView orange_theme; private LinearLayout box_orange_switch; private Switch orange_switch; private TextView yellow_theme; private LinearLayout box_yellow_switch; private Switch yellow_switch; private TextView gray_theme; private LinearLayout box_gray_switch; private Switch gray_switch; private LinearLayout box_9_sub_1; private LinearLayout box_9_sub_2; private TextView apk_location; private EditText apk_path_location; private TextView apk_location_info; private LinearLayout box_10_sub_1; private LinearLayout box_10_sub_2; private TextView clear_directory_folders; private TextView clear_directory_folders_info; private LinearLayout box_reset_settings; private TextView reset_settings; private LinearLayout main_body_about; private LinearLayout box_about_close; private LinearLayout box_about_header; private LinearLayout box_about_sub; private LinearLayout box_about_1; private LinearLayout box_about_2; private LinearLayout box_about_3; private LinearLayout box_about_4; private LinearLayout box_about_5; private LinearLayout box_about_6; private LinearLayout box_about_7; private TextView contributors_1; private LinearLayout box_icon_close; private ImageView icon_close; private TextView title_about; private TextView app_version; private TextView sub_title; private TextView developer_manager; private TextView developer_1; private TextView developer_spotify; private TextView developer_2; private TextView support_team; private TextView support_1; private TextView mod_testers_1; private TextView testers_1; private LinearLayout box_about_4_sub_1; private TextView mod_testers_2; private TextView testers_2; private TextView mobilism_team; private TextView mobilism_1; private TextView forum_team; private TextView forum_1; private TextView manager_team; private TextView manager_1; private ScrollView main_scroll_body; private LinearLayout main_body; private LinearLayout main_box_1; private LinearLayout main_box_2; private LinearLayout main_box_6; private LinearLayout box_sub_header; private LinearLayout main_box_4; private LinearLayout box_1; private LinearLayout box_2; private ListView list_menu_1; private TextView title_1; private LinearLayout box_1_sub; private TextView sub_text_1; private TextView sub_1; private TextView sub_text_2; private TextView sub_2; private LinearLayout box_switch_1; private Switch version_switch_1; private LinearLayout box_3; private LinearLayout box_4; private ListView list_menu_2; private TextView title_2; private LinearLayout box_3_sub; private TextView sub_text_3; private TextView sub_3; private TextView sub_text_4; private TextView sub_4; private LinearLayout box_switch_2; private Switch version_switch_2; private LinearLayout box_6_sub_1; private LinearLayout box_6_sub_2; private TextView changelogs; private LinearLayout box_changelogs; private Switch changelogs_switch; private LinearLayout box_changelogs_1; private TextView changelogs_x; private LinearLayout box_sub_1; private LinearLayout box_sub_2; private TextView title_sub; private LinearLayout box_cpu; private TextView device_cpu; private TextView cpu; private LinearLayout box_uninstall; private LinearLayout box_settings; private LinearLayout box_cache; private LinearLayout box_open; private ImageView icon_uninstall; private ImageView icon_settings; private ImageView icon_cache; private ImageView icon_open; private LinearLayout box_source; private LinearLayout box_support; private LinearLayout box_donate; private LinearLayout box_about; private TextView source; private ImageView icon_source; private TextView support; private ImageView icon_support; private TextView donate; private ImageView icon_donate; private TextView about; private ImageView icon_about; private AlertDialog.Builder Clear_Cache; private AlertDialog.Builder Clear_Cache_Done; private TimerTask Timer; private Intent Support = new Intent(); private AlertDialog.Builder Donation; private Intent Donate = new Intent(); private AlertDialog.Builder Mod_Features; private AlertDialog.Builder Selected_Spotify; private AlertDialog.Builder Download_Spotify; private AlertDialog.Builder Mod_Info; private AlertDialog.Builder Credits; private AlertDialog.Builder Success_Download; private SharedPreferences ON_SCREEN; private AlertDialog.Builder Restart; private AlertDialog.Builder Restart_Finished; private SharedPreferences THEME; private SharedPreferences DESC_X; private RequestNetwork Connection; private RequestNetwork.RequestListener _Connection_request_listener; private DatabaseReference Version = _firebase.getReference("Version"); private ChildEventListener _Version_child_listener; private AlertDialog.Builder Update_Authorized; private AlertDialog.Builder Update_Unauthorized; private AlertDialog.Builder Update_Latest; private DatabaseReference xManager_Update = _firebase.getReference("xManager_Update"); private ChildEventListener _xManager_Update_child_listener; private DatabaseReference Mod_Changelogs = _firebase.getReference("Mod_Changelogs"); private ChildEventListener _Mod_Changelogs_child_listener; private xManager_Notification; private DatabaseReference xManager_Changelogs = _firebase.getReference("xManager_Changelogs"); private ChildEventListener _xManager_Changelogs_child_listener; private FileProvider; private File_Fixer; private Intent Source = new Intent(); private DatabaseReference Regular_Mod = _firebase.getReference("Regular_Mod"); private ChildEventListener _Regular_Mod_child_listener; private DatabaseReference Amoled_Black = _firebase.getReference("Amoled_Black"); private ChildEventListener _Amoled_Black_child_listener; private SharedPreferences NAVIGATION_BAR; private SharedPreferences LIST_REFRESH; private SharedPreferences APK_PATH; private SharedPreferences FORCE_INSTALL; private SharedPreferences FORCE_INSTALL_UPDATE; private SharedPreferences COPY_URL_MODE; private AlertDialog.Builder Directory; private SharedPreferences VERSIONS; @Override protected void onCreate(Bundle _savedInstanceState) { super.onCreate(_savedInstanceState); setContentView(R.layout.main); com.google.firebase.FirebaseApp.initializeApp(this); initialize(_savedInstanceState); if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED || ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) { ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1000); } else { initializeLogic(); } } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == 1000) { initializeLogic(); } } private void initialize(Bundle _savedInstanceState) { box_header = (LinearLayout) findViewById(R.id.box_header); main_body_optimization = (LinearLayout) findViewById(R.id.main_body_optimization); main_scroll_settings = (ScrollView) findViewById(R.id.main_scroll_settings); main_scroll_about = (ScrollView) findViewById(R.id.main_scroll_about); main_refresh_layout = () findViewById(R.id.main_refresh_layout); title_header = (TextView) findViewById(R.id.title_header); box_header_tab = (LinearLayout) findViewById(R.id.box_header_tab); box_switch = (LinearLayout) findViewById(R.id.box_switch); box_update = (LinearLayout) findViewById(R.id.box_update); icon_switch = (ImageView) findViewById(R.id.icon_switch); icon_update = (ImageView) findViewById(R.id.icon_update); hidden_download = (TextView) findViewById(R.id.hidden_download); app_changelogs = (TextView) findViewById(R.id.app_changelogs); download_selected = (TextView) findViewById(R.id.download_selected); download_ready = (TextView) findViewById(R.id.download_ready); download_ready_desc = (TextView) findViewById(R.id.download_ready_desc); downloading_file = (TextView) findViewById(R.id.downloading_file); download_success = (TextView) findViewById(R.id.download_success); copy_url_desc = (TextView) findViewById(R.id.copy_url_desc); main_title = (TextView) findViewById(R.id.main_title); settings_title = (TextView) findViewById(R.id.settings_title); about_title = (TextView) findViewById(R.id.about_title); file_directory = (TextView) findViewById(R.id.file_directory); new_update = (TextView) findViewById(R.id.new_update); continue_1 = (TextView) findViewById(R.id.continue_1); cancel = (TextView) findViewById(R.id.cancel); download = (TextView) findViewById(R.id.download); later = (TextView) findViewById(R.id.later); directory = (TextView) findViewById(R.id.directory); install_now = (TextView) findViewById(R.id.install_now); install_update = (TextView) findViewById(R.id.install_update); go_back = (TextView) findViewById(R.id.go_back); download_update = (TextView) findViewById(R.id.download_update); not_now = (TextView) findViewById(R.id.not_now); copy_url = (TextView) findViewById(R.id.copy_url); show_support = (TextView) findViewById(R.id.show_support); show_support_desc = (TextView) findViewById(R.id.show_support_desc); main_body_settings = (LinearLayout) findViewById(R.id.main_body_settings); box_settings_close = (LinearLayout) findViewById(R.id.box_settings_close); main_box_8 = (LinearLayout) findViewById(R.id.main_box_8); main_box_11 = (LinearLayout) findViewById(R.id.main_box_11); main_box_12 = (LinearLayout) findViewById(R.id.main_box_12); main_box_7 = (LinearLayout) findViewById(R.id.main_box_7); main_box_5 = (LinearLayout) findViewById(R.id.main_box_5); main_box_9 = (LinearLayout) findViewById(R.id.main_box_9); main_box_10 = (LinearLayout) findViewById(R.id.main_box_10); main_box_13 = (LinearLayout) findViewById(R.id.main_box_13); box_settings_icon_close = (LinearLayout) findViewById(R.id.box_settings_icon_close); settings_icon_close = (ImageView) findViewById(R.id.settings_icon_close); box_8_sub_1 = (LinearLayout) findViewById(R.id.box_8_sub_1); box_8_sub_2 = (LinearLayout) findViewById(R.id.box_8_sub_2); list_auto_refresh = (TextView) findViewById(R.id.list_auto_refresh); box_list_auto_refresh = (LinearLayout) findViewById(R.id.box_list_auto_refresh); list_auto_refresh_switch = (Switch) findViewById(R.id.list_auto_refresh_switch); list_auto_refresh_info = (TextView) findViewById(R.id.list_auto_refresh_info); box_11_sub_1 = (LinearLayout) findViewById(R.id.box_11_sub_1); box_11_sub_2 = (LinearLayout) findViewById(R.id.box_11_sub_2); force_auto_install = (TextView) findViewById(R.id.force_auto_install); box_force_auto_install = (LinearLayout) findViewById(R.id.box_force_auto_install); force_auto_install_switch = (Switch) findViewById(R.id.force_auto_install_switch); force_auto_install_info = (TextView) findViewById(R.id.force_auto_install_info); box_12_sub_1 = (LinearLayout) findViewById(R.id.box_12_sub_1); box_12_sub_2 = (LinearLayout) findViewById(R.id.box_12_sub_2); copy_url_mode = (TextView) findViewById(R.id.copy_url_mode); box_copy_url_mode = (LinearLayout) findViewById(R.id.box_copy_url_mode); copy_url_mode_switch = (Switch) findViewById(R.id.copy_url_mode_switch); copy_file_url_mode_info = (TextView) findViewById(R.id.copy_file_url_mode_info); box_7_sub_1 = (LinearLayout) findViewById(R.id.box_7_sub_1); navigation_bar = (TextView) findViewById(R.id.navigation_bar); box_navigation_switch = (LinearLayout) findViewById(R.id.box_navigation_switch); navigation_switch = (Switch) findViewById(R.id.navigation_switch); box_5_sub_1 = (LinearLayout) findViewById(R.id.box_5_sub_1); box_5_sub_2 = (LinearLayout) findViewById(R.id.box_5_sub_2); theme = (TextView) findViewById(R.id.theme); box_theme_switch = (LinearLayout) findViewById(R.id.box_theme_switch); theme_switch = (Switch) findViewById(R.id.theme_switch); box_theme_0 = (LinearLayout) findViewById(R.id.box_theme_0); box_theme_1 = (LinearLayout) findViewById(R.id.box_theme_1); box_theme_2 = (LinearLayout) findViewById(R.id.box_theme_2); box_theme_3 = (LinearLayout) findViewById(R.id.box_theme_3); box_theme_4 = (LinearLayout) findViewById(R.id.box_theme_4); box_theme_5 = (LinearLayout) findViewById(R.id.box_theme_5); box_theme_6 = (LinearLayout) findViewById(R.id.box_theme_6); green_theme = (TextView) findViewById(R.id.green_theme); box_green_switch = (LinearLayout) findViewById(R.id.box_green_switch); green_switch = (Switch) findViewById(R.id.green_switch); purple_theme = (TextView) findViewById(R.id.purple_theme); box_purple_switch = (LinearLayout) findViewById(R.id.box_purple_switch); purple_switch = (Switch) findViewById(R.id.purple_switch); red_theme = (TextView) findViewById(R.id.red_theme); box_red_switch = (LinearLayout) findViewById(R.id.box_red_switch); red_switch = (Switch) findViewById(R.id.red_switch); blue_theme = (TextView) findViewById(R.id.blue_theme); box_blue_switch = (LinearLayout) findViewById(R.id.box_blue_switch); blue_switch = (Switch) findViewById(R.id.blue_switch); orange_theme = (TextView) findViewById(R.id.orange_theme); box_orange_switch = (LinearLayout) findViewById(R.id.box_orange_switch); orange_switch = (Switch) findViewById(R.id.orange_switch); yellow_theme = (TextView) findViewById(R.id.yellow_theme); box_yellow_switch = (LinearLayout) findViewById(R.id.box_yellow_switch); yellow_switch = (Switch) findViewById(R.id.yellow_switch); gray_theme = (TextView) findViewById(R.id.gray_theme); box_gray_switch = (LinearLayout) findViewById(R.id.box_gray_switch); gray_switch = (Switch) findViewById(R.id.gray_switch); box_9_sub_1 = (LinearLayout) findViewById(R.id.box_9_sub_1); box_9_sub_2 = (LinearLayout) findViewById(R.id.box_9_sub_2); apk_location = (TextView) findViewById(R.id.apk_location); apk_path_location = (EditText) findViewById(R.id.apk_path_location); apk_location_info = (TextView) findViewById(R.id.apk_location_info); box_10_sub_1 = (LinearLayout) findViewById(R.id.box_10_sub_1); box_10_sub_2 = (LinearLayout) findViewById(R.id.box_10_sub_2); clear_directory_folders = (TextView) findViewById(R.id.clear_directory_folders); clear_directory_folders_info = (TextView) findViewById(R.id.clear_directory_folders_info); box_reset_settings = (LinearLayout) findViewById(R.id.box_reset_settings); reset_settings = (TextView) findViewById(R.id.reset_settings); main_body_about = (LinearLayout) findViewById(R.id.main_body_about); box_about_close = (LinearLayout) findViewById(R.id.box_about_close); box_about_header = (LinearLayout) findViewById(R.id.box_about_header); box_about_sub = (LinearLayout) findViewById(R.id.box_about_sub); box_about_1 = (LinearLayout) findViewById(R.id.box_about_1); box_about_2 = (LinearLayout) findViewById(R.id.box_about_2); box_about_3 = (LinearLayout) findViewById(R.id.box_about_3); box_about_4 = (LinearLayout) findViewById(R.id.box_about_4); box_about_5 = (LinearLayout) findViewById(R.id.box_about_5); box_about_6 = (LinearLayout) findViewById(R.id.box_about_6); box_about_7 = (LinearLayout) findViewById(R.id.box_about_7); contributors_1 = (TextView) findViewById(R.id.contributors_1); box_icon_close = (LinearLayout) findViewById(R.id.box_icon_close); icon_close = (ImageView) findViewById(R.id.icon_close); title_about = (TextView) findViewById(R.id.title_about); app_version = (TextView) findViewById(R.id.app_version); sub_title = (TextView) findViewById(R.id.sub_title); developer_manager = (TextView) findViewById(R.id.developer_manager); developer_1 = (TextView) findViewById(R.id.developer_1); developer_spotify = (TextView) findViewById(R.id.developer_spotify); developer_2 = (TextView) findViewById(R.id.developer_2); support_team = (TextView) findViewById(R.id.support_team); support_1 = (TextView) findViewById(R.id.support_1); mod_testers_1 = (TextView) findViewById(R.id.mod_testers_1); testers_1 = (TextView) findViewById(R.id.testers_1); box_about_4_sub_1 = (LinearLayout) findViewById(R.id.box_about_4_sub_1); mod_testers_2 = (TextView) findViewById(R.id.mod_testers_2); testers_2 = (TextView) findViewById(R.id.testers_2); mobilism_team = (TextView) findViewById(R.id.mobilism_team); mobilism_1 = (TextView) findViewById(R.id.mobilism_1); forum_team = (TextView) findViewById(R.id.forum_team); forum_1 = (TextView) findViewById(R.id.forum_1); manager_team = (TextView) findViewById(R.id.manager_team); manager_1 = (TextView) findViewById(R.id.manager_1); main_scroll_body = (ScrollView) findViewById(R.id.main_scroll_body); main_body = (LinearLayout) findViewById(R.id.main_body); main_box_1 = (LinearLayout) findViewById(R.id.main_box_1); main_box_2 = (LinearLayout) findViewById(R.id.main_box_2); main_box_6 = (LinearLayout) findViewById(R.id.main_box_6); box_sub_header = (LinearLayout) findViewById(R.id.box_sub_header); main_box_4 = (LinearLayout) findViewById(R.id.main_box_4); box_1 = (LinearLayout) findViewById(R.id.box_1); box_2 = (LinearLayout) findViewById(R.id.box_2); list_menu_1 = (ListView) findViewById(R.id.list_menu_1); title_1 = (TextView) findViewById(R.id.title_1); box_1_sub = (LinearLayout) findViewById(R.id.box_1_sub); sub_text_1 = (TextView) findViewById(R.id.sub_text_1); sub_1 = (TextView) findViewById(R.id.sub_1); sub_text_2 = (TextView) findViewById(R.id.sub_text_2); sub_2 = (TextView) findViewById(R.id.sub_2); box_switch_1 = (LinearLayout) findViewById(R.id.box_switch_1); version_switch_1 = (Switch) findViewById(R.id.version_switch_1); box_3 = (LinearLayout) findViewById(R.id.box_3); box_4 = (LinearLayout) findViewById(R.id.box_4); list_menu_2 = (ListView) findViewById(R.id.list_menu_2); title_2 = (TextView) findViewById(R.id.title_2); box_3_sub = (LinearLayout) findViewById(R.id.box_3_sub); sub_text_3 = (TextView) findViewById(R.id.sub_text_3); sub_3 = (TextView) findViewById(R.id.sub_3); sub_text_4 = (TextView) findViewById(R.id.sub_text_4); sub_4 = (TextView) findViewById(R.id.sub_4); box_switch_2 = (LinearLayout) findViewById(R.id.box_switch_2); version_switch_2 = (Switch) findViewById(R.id.version_switch_2); box_6_sub_1 = (LinearLayout) findViewById(R.id.box_6_sub_1); box_6_sub_2 = (LinearLayout) findViewById(R.id.box_6_sub_2); changelogs = (TextView) findViewById(R.id.changelogs); box_changelogs = (LinearLayout) findViewById(R.id.box_changelogs); changelogs_switch = (Switch) findViewById(R.id.changelogs_switch); box_changelogs_1 = (LinearLayout) findViewById(R.id.box_changelogs_1); changelogs_x = (TextView) findViewById(R.id.changelogs_x); box_sub_1 = (LinearLayout) findViewById(R.id.box_sub_1); box_sub_2 = (LinearLayout) findViewById(R.id.box_sub_2); title_sub = (TextView) findViewById(R.id.title_sub); box_cpu = (LinearLayout) findViewById(R.id.box_cpu); device_cpu = (TextView) findViewById(R.id.device_cpu); cpu = (TextView) findViewById(R.id.cpu); box_uninstall = (LinearLayout) findViewById(R.id.box_uninstall); box_settings = (LinearLayout) findViewById(R.id.box_settings); box_cache = (LinearLayout) findViewById(R.id.box_cache); box_open = (LinearLayout) findViewById(R.id.box_open); icon_uninstall = (ImageView) findViewById(R.id.icon_uninstall); icon_settings = (ImageView) findViewById(R.id.icon_settings); icon_cache = (ImageView) findViewById(R.id.icon_cache); icon_open = (ImageView) findViewById(R.id.icon_open); box_source = (LinearLayout) findViewById(R.id.box_source); box_support = (LinearLayout) findViewById(R.id.box_support); box_donate = (LinearLayout) findViewById(R.id.box_donate); box_about = (LinearLayout) findViewById(R.id.box_about); source = (TextView) findViewById(R.id.source); icon_source = (ImageView) findViewById(R.id.icon_source); support = (TextView) findViewById(R.id.support); icon_support = (ImageView) findViewById(R.id.icon_support); donate = (TextView) findViewById(R.id.donate); icon_donate = (ImageView) findViewById(R.id.icon_donate); about = (TextView) findViewById(R.id.about); icon_about = (ImageView) findViewById(R.id.icon_about); Clear_Cache = new AlertDialog.Builder(this); Clear_Cache_Done = new AlertDialog.Builder(this); Donation = new AlertDialog.Builder(this); Mod_Features = new AlertDialog.Builder(this); Selected_Spotify = new AlertDialog.Builder(this); Download_Spotify = new AlertDialog.Builder(this); Mod_Info = new AlertDialog.Builder(this); Credits = new AlertDialog.Builder(this); Success_Download = new AlertDialog.Builder(this); ON_SCREEN = getSharedPreferences("ON_SCREEN", Activity.MODE_PRIVATE); Restart = new AlertDialog.Builder(this); Restart_Finished = new AlertDialog.Builder(this); THEME = getSharedPreferences("THEME", Activity.MODE_PRIVATE); DESC_X = getSharedPreferences("DESC_X", Activity.MODE_PRIVATE); Connection = new RequestNetwork(this); Update_Authorized = new AlertDialog.Builder(this); Update_Unauthorized = new AlertDialog.Builder(this); Update_Latest = new AlertDialog.Builder(this); NAVIGATION_BAR = getSharedPreferences("NAVIGATION_BAR", Activity.MODE_PRIVATE); LIST_REFRESH = getSharedPreferences("LIST_REFRESH", Activity.MODE_PRIVATE); APK_PATH = getSharedPreferences("APK_PATH", Activity.MODE_PRIVATE); FORCE_INSTALL = getSharedPreferences("FORCE_INSTALL", Activity.MODE_PRIVATE); FORCE_INSTALL_UPDATE = getSharedPreferences("FORCE_INSTALL_UPDATE", Activity.MODE_PRIVATE); COPY_URL_MODE = getSharedPreferences("COPY_URL_MODE", Activity.MODE_PRIVATE); Directory = new AlertDialog.Builder(this); VERSIONS = getSharedPreferences("VERSIONS", Activity.MODE_PRIVATE); box_switch.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { main_body_optimization.setVisibility(View.GONE); main_scroll_settings.setVisibility(View.VISIBLE); main_scroll_about.setVisibility(View.GONE); main_refresh_layout.setVisibility(View.GONE); box_update.setVisibility(View.GONE); box_switch.setVisibility(View.GONE); apk_path_location.setEnabled(true); title_header.setText(settings_title.getText().toString()); _Animation_1(); } }); box_update.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { try { if (CHECK == 0) { CHECK = 1; Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { CHECK = 0; } }); } }; _timer.schedule(Timer, (int)(2000)); if (true) { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "Slow or No Internet Connection. Try again later.", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("", new View.OnClickListener(){ @Override public void onClick(View _view) { } }).show(); } else { Version.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { Versions_1 = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); Versions_1.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Latest_Version = Versions_1.get((int)0).get("V").toString(); if (Double.parseDouble(Latest_Version) > Double.parseDouble(Current_Version)) { Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { try { _RequiredDialog(Update_Authorized, false); Update_Authorized.setTitle(new_update.getText().toString()); Update_Authorized.setPositiveButton(download_update.getText().toString(), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { try { _RequiredDialog(Update_Authorized, true); if (FORCE_INSTALL_UPDATE.getString("FORCE_INSTALL_UPDATE", "").equals("XX")) { _Download_Update_Install(hidden_download.getText().toString(), "/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/"); } else { if (FORCE_INSTALL_UPDATE.getString("FORCE_INSTALL_UPDATE", "").equals("YY")) { _Download_Update(hidden_download.getText().toString(), "/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/"); } } _Update_Remover(); } catch(Exception e) { } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Update_Authorized.setNeutralButton(not_now.getText().toString(), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Update_Authorized, true); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Update_Authorized.create().show(); } catch(Exception e) { } } }); } }; _timer.schedule(Timer, (int)(1800)); } else { if (Double.parseDouble(Current_Version) > Double.parseDouble(Latest_Version)) { Version.child("App").child("V").setValue(Current_Version); } else { Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { try { xManager_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } xManager_Changelogs.addChildEventListener(_xManager_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Update_Latest.setTitle("xManager v".concat(app_version.getText().toString().concat(" (Latest)"))); Update_Latest.setMessage(app_changelogs.getText().toString()); Update_Latest.create().show(); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } catch(Exception e) { } } }); } }; _timer.schedule(Timer, (int)(1800)); } } } @Override public void onCancelled(DatabaseError _databaseError) { } }); } } } catch(Exception e) { } } }); main_box_10.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { if (FileUtil.isExistFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/") && (FileUtil.isExistFile("/storage/emulated/0/xManager/") && FileUtil.isExistFile(apk_path_location.getText().toString()))) { FileUtil.deleteFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/"); FileUtil.deleteFile("/storage/emulated/0/xManager/"); FileUtil.deleteFile(apk_path_location.getText().toString()); } else { if (!(FileUtil.isExistFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/") && (FileUtil.isExistFile("/storage/emulated/0/xManager/") && FileUtil.isExistFile(apk_path_location.getText().toString())))) { } } if (DELETE == 1) { } else { if (DELETE == 0) { } } DELETE = 0; } }); box_settings_icon_close.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { main_body_optimization.setVisibility(View.GONE); main_scroll_settings.setVisibility(View.GONE); main_scroll_about.setVisibility(View.GONE); main_refresh_layout.setVisibility(View.VISIBLE); box_update.setVisibility(View.VISIBLE); box_switch.setVisibility(View.VISIBLE); apk_path_location.setEnabled(false); title_header.setText(main_title.getText().toString()); _Animation_0(); _Url_Mode(); } }); list_auto_refresh_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { LIST_REFRESH.edit().putString("UPDATE", "ON").commit(); } else { LIST_REFRESH.edit().putString("UPDATE", "OFF").commit(); } COUNTER = 1; } }); force_auto_install_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { FORCE_INSTALL.edit().putString("FORCE_INSTALL", "X").commit(); FORCE_INSTALL_UPDATE.edit().putString("FORCE_INSTALL_UPDATE", "XX").commit(); copy_url_mode_switch.setChecked(false); } else { FORCE_INSTALL.edit().putString("FORCE_INSTALL", "Y").commit(); FORCE_INSTALL_UPDATE.edit().putString("FORCE_INSTALL_UPDATE", "YY").commit(); } COUNTER = 1; } }); copy_url_mode_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { COPY_URL_MODE.edit().putString("COPY_URL_MODE", "URL_ON").commit(); force_auto_install_switch.setChecked(false); } else { COPY_URL_MODE.edit().putString("COPY_URL_MODE", "URL_OFF").commit(); } COUNTER = 1; } }); navigation_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { NAVIGATION_BAR.edit().putString("NAVIGATION", "1").commit(); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); } else { NAVIGATION_BAR.edit().putString("NAVIGATION", "0").commit(); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE); if (Build.VERSION.SDK_INT >= 21) { getWindow().setNavigationBarColor(Color.parseColor("#212121")); } } COUNTER = 1; } }); theme_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { box_5_sub_2.setVisibility(View.VISIBLE); version_switch_1.setChecked(false); version_switch_2.setChecked(false); changelogs_switch.setChecked(false); _Animation_3(); } else { box_5_sub_2.setVisibility(View.GONE); } } }); green_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { THEME.edit().putString("THEME", "1").commit(); green_switch.setChecked(true); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (purple_switch.isChecked()) { THEME.edit().putString("THEME", "2").commit(); green_switch.setChecked(false); purple_switch.setChecked(true); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (red_switch.isChecked()) { THEME.edit().putString("THEME", "3").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(true); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (blue_switch.isChecked()) { THEME.edit().putString("THEME", "4").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(true); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (orange_switch.isChecked()) { THEME.edit().putString("THEME", "5").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(true); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (yellow_switch.isChecked()) { THEME.edit().putString("THEME", "6").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(true); gray_switch.setChecked(false); } else { if (gray_switch.isChecked()) { THEME.edit().putString("THEME", "7").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(true); } else { if (!(green_switch.isChecked() && (purple_switch.isChecked() && red_switch.isChecked()))) { THEME.edit().putString("THEME", "0").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } } } } } } } } COUNTER = 1; } }); purple_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { THEME.edit().putString("THEME", "2").commit(); green_switch.setChecked(false); purple_switch.setChecked(true); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (green_switch.isChecked()) { THEME.edit().putString("THEME", "1").commit(); green_switch.setChecked(true); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (red_switch.isChecked()) { THEME.edit().putString("THEME", "3").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(true); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (blue_switch.isChecked()) { THEME.edit().putString("THEME", "4").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(true); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (orange_switch.isChecked()) { THEME.edit().putString("THEME", "5").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(true); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (yellow_switch.isChecked()) { THEME.edit().putString("THEME", "6").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(true); gray_switch.setChecked(false); } else { if (gray_switch.isChecked()) { THEME.edit().putString("THEME", "7").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(true); } else { if (!(green_switch.isChecked() && (purple_switch.isChecked() && red_switch.isChecked()))) { THEME.edit().putString("THEME", "0").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } } } } } } } } COUNTER = 1; } }); red_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { THEME.edit().putString("THEME", "3").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(true); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (purple_switch.isChecked()) { THEME.edit().putString("THEME", "2").commit(); green_switch.setChecked(false); purple_switch.setChecked(true); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (green_switch.isChecked()) { THEME.edit().putString("THEME", "1").commit(); green_switch.setChecked(true); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (blue_switch.isChecked()) { THEME.edit().putString("THEME", "4").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(true); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (orange_switch.isChecked()) { THEME.edit().putString("THEME", "5").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(true); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (yellow_switch.isChecked()) { THEME.edit().putString("THEME", "6").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(true); gray_switch.setChecked(false); } else { if (gray_switch.isChecked()) { THEME.edit().putString("THEME", "7").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(true); } else { if (!(green_switch.isChecked() && (purple_switch.isChecked() && red_switch.isChecked()))) { THEME.edit().putString("THEME", "0").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } } } } } } } } COUNTER = 1; } }); blue_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { THEME.edit().putString("THEME", "4").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(true); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (purple_switch.isChecked()) { THEME.edit().putString("THEME", "2").commit(); green_switch.setChecked(false); purple_switch.setChecked(true); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (red_switch.isChecked()) { THEME.edit().putString("THEME", "3").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(true); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (green_switch.isChecked()) { THEME.edit().putString("THEME", "1").commit(); green_switch.setChecked(true); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (orange_switch.isChecked()) { THEME.edit().putString("THEME", "5").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(true); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (yellow_switch.isChecked()) { THEME.edit().putString("THEME", "6").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(true); gray_switch.setChecked(false); } else { if (gray_switch.isChecked()) { THEME.edit().putString("THEME", "7").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(true); } else { if (!(green_switch.isChecked() && (purple_switch.isChecked() && red_switch.isChecked()))) { THEME.edit().putString("THEME", "0").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } } } } } } } } COUNTER = 1; } }); orange_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { THEME.edit().putString("THEME", "5").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(true); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (purple_switch.isChecked()) { THEME.edit().putString("THEME", "2").commit(); green_switch.setChecked(false); purple_switch.setChecked(true); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (red_switch.isChecked()) { THEME.edit().putString("THEME", "3").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(true); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (blue_switch.isChecked()) { THEME.edit().putString("THEME", "4").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(true); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (green_switch.isChecked()) { THEME.edit().putString("THEME", "1").commit(); green_switch.setChecked(true); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (yellow_switch.isChecked()) { THEME.edit().putString("THEME", "6").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(true); gray_switch.setChecked(false); } else { if (gray_switch.isChecked()) { THEME.edit().putString("THEME", "7").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(true); } else { if (!(green_switch.isChecked() && (purple_switch.isChecked() && red_switch.isChecked()))) { THEME.edit().putString("THEME", "0").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } } } } } } } } COUNTER = 1; } }); yellow_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { THEME.edit().putString("THEME", "6").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(true); gray_switch.setChecked(false); } else { if (purple_switch.isChecked()) { THEME.edit().putString("THEME", "2").commit(); green_switch.setChecked(false); purple_switch.setChecked(true); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (red_switch.isChecked()) { THEME.edit().putString("THEME", "3").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(true); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (blue_switch.isChecked()) { THEME.edit().putString("THEME", "4").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(true); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (orange_switch.isChecked()) { THEME.edit().putString("THEME", "5").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(true); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (green_switch.isChecked()) { THEME.edit().putString("THEME", "1").commit(); green_switch.setChecked(true); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (gray_switch.isChecked()) { THEME.edit().putString("THEME", "7").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(true); } else { if (!(green_switch.isChecked() && (purple_switch.isChecked() && red_switch.isChecked()))) { THEME.edit().putString("THEME", "0").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } } } } } } } } COUNTER = 1; } }); gray_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { THEME.edit().putString("THEME", "7").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(true); } else { if (purple_switch.isChecked()) { THEME.edit().putString("THEME", "2").commit(); green_switch.setChecked(false); purple_switch.setChecked(true); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (red_switch.isChecked()) { THEME.edit().putString("THEME", "3").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(true); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (blue_switch.isChecked()) { THEME.edit().putString("THEME", "4").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(true); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (orange_switch.isChecked()) { THEME.edit().putString("THEME", "5").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(true); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (yellow_switch.isChecked()) { THEME.edit().putString("THEME", "6").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(true); gray_switch.setChecked(false); } else { if (green_switch.isChecked()) { THEME.edit().putString("THEME", "1").commit(); green_switch.setChecked(true); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (!(green_switch.isChecked() && (purple_switch.isChecked() && red_switch.isChecked()))) { THEME.edit().putString("THEME", "0").commit(); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } } } } } } } } COUNTER = 1; } }); apk_path_location.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence _param1, int _param2, int _param3, int _param4) { final String _charSeq = _param1.toString(); PATH = _charSeq; _Default_Path(); } @Override public void beforeTextChanged(CharSequence _param1, int _param2, int _param3, int _param4) { } @Override public void afterTextChanged(Editable _param1) { } }); box_reset_settings.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { version_switch_1.setChecked(false); version_switch_2.setChecked(false); changelogs_switch.setChecked(false); list_auto_refresh_switch.setChecked(false); force_auto_install_switch.setChecked(false); copy_url_mode_switch.setChecked(false); navigation_switch.setChecked(false); theme_switch.setChecked(false); green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); apk_path_location.setText("/storage/emulated/0/xManager/"); if (COUNTER == 1) { } COUNTER = 0; } }); box_icon_close.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { main_body_optimization.setVisibility(View.GONE); main_scroll_settings.setVisibility(View.GONE); main_scroll_about.setVisibility(View.GONE); main_refresh_layout.setVisibility(View.VISIBLE); box_update.setVisibility(View.VISIBLE); box_switch.setVisibility(View.VISIBLE); title_header.setText(main_title.getText().toString()); _Animation_0(); _Url_Mode(); } }); version_switch_1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; try { if (_isChecked) { try { version_switch_2.setChecked(false); changelogs_switch.setChecked(false); theme_switch.setChecked(false); list_menu_1.setVisibility(View.VISIBLE); Regular_Mod.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } sub_1.setText(VERSIONS.getString("REGULAR", "")); list_menu_1.setAdapter(new List_menu_1Adapter(listdata)); ((BaseAdapter)list_menu_1.getAdapter()).notifyDataSetChanged(); } @Override public void onCancelled(DatabaseError _databaseError) { } }); xManager_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } xManager_Changelogs.addChildEventListener(_xManager_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Mod_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Mod_Changelogs.addChildEventListener(_Mod_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Version.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Version.addChildEventListener(_Version_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Fetching failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } main_refresh_layout.setEnabled(false); if (true) { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "Slow or No Internet Connection. Try again later.", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("", new View.OnClickListener(){ @Override public void onClick(View _view) { } }).show(); } _Switches(); } else { main_refresh_layout.setEnabled(true); list_menu_1.setVisibility(View.GONE); list_menu_1.setAdapter(new List_menu_1Adapter(listdata)); ((BaseAdapter)list_menu_1.getAdapter()).notifyDataSetChanged(); } } catch(Exception e) { } } }); version_switch_2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; try { if (_isChecked) { try { version_switch_1.setChecked(false); changelogs_switch.setChecked(false); theme_switch.setChecked(false); list_menu_2.setVisibility(View.VISIBLE); Amoled_Black.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } sub_3.setText(VERSIONS.getString("AMOLED", "")); list_menu_2.setAdapter(new List_menu_2Adapter(listdata)); ((BaseAdapter)list_menu_2.getAdapter()).notifyDataSetChanged(); } @Override public void onCancelled(DatabaseError _databaseError) { } }); xManager_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } xManager_Changelogs.addChildEventListener(_xManager_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Mod_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Mod_Changelogs.addChildEventListener(_Mod_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Version.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Version.addChildEventListener(_Version_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Fetching failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } main_refresh_layout.setEnabled(false); if (true) { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "Slow or No Internet Connection. Try again later.", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("", new View.OnClickListener(){ @Override public void onClick(View _view) { } }).show(); } _Switches(); } else { main_refresh_layout.setEnabled(true); list_menu_2.setVisibility(View.GONE); list_menu_2.setAdapter(new List_menu_2Adapter(listdata)); ((BaseAdapter)list_menu_2.getAdapter()).notifyDataSetChanged(); } } catch(Exception e) { } } }); changelogs_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton _param1, boolean _param2) { final boolean _isChecked = _param2; if (_isChecked) { box_6_sub_2.setVisibility(View.VISIBLE); version_switch_1.setChecked(false); version_switch_2.setChecked(false); theme_switch.setChecked(false); if (true) { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "Slow or No Internet Connection. Try again later.", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("", new View.OnClickListener(){ @Override public void onClick(View _view) { } }).show(); } } else { box_6_sub_2.setVisibility(View.GONE); } } }); box_uninstall.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { try { Intent intent = new Intent(Intent.ACTION_DELETE); intent.setData(Uri.parse("package:com.spotify.music")); startActivity(intent); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Application not installed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } }); box_settings.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { try { Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS); intent.setData(Uri.parse("package:com.spotify.music")); startActivity(intent); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Application not installed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } }); box_cache.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { try { _RequiredDialog(Clear_Cache, false); Clear_Cache.setTitle("CLEAR CACHE"); Clear_Cache.setMessage("This will erase all the downloaded songs, albums and playlists including offline cached datas from the original or modified spotify app. Would you like to continue?"); Clear_Cache.setPositiveButton("CONTINUE", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Clear_Cache, true); if (FileUtil.isExistFile("/storage/emulated/0/Android/data/com.spotify.music/")) { FileUtil.deleteFile("/storage/emulated/0/Android/data/com.spotify.music/"); final ProgressDialog prog = new ProgressDialog(MainActivity.this, ProgressDialog.THEME_DEVICE_DEFAULT_DARK); prog.setMax(100); prog.setMessage("Deleting Spotify's directory folder..."); prog.setIndeterminate(true); prog.setCancelable(false); if (!MainActivity.this.isFinishing()) { prog.show(); } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _RequiredDialog(Clear_Cache_Done, false); Clear_Cache_Done.setTitle("DIRECTORY FILES DELETED"); Clear_Cache_Done.setMessage("Kindly relogin your Spotify account to restore the settings."); Clear_Cache_Done.setPositiveButton("GOT IT, THANKS!", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Clear_Cache_Done, true); } }); Clear_Cache_Done.create().show(); prog.dismiss(); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); } }; _timer.schedule(Timer, (int)(3000)); } else { Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } } }); Clear_Cache.setNeutralButton("CANCEL", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Clear_Cache, true); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Clear_Cache.create().show(); } catch(Exception e) { } } }); box_open.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { String packageName = "com.spotify.music"; Intent intent = getPackageManager().getLaunchIntentForPackage(packageName); if(intent == null) { try { intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName)); } catch (Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Application not installed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } startActivity(intent); } }); box_source.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { try { Source.setAction(Intent.ACTION_VIEW); Source.setData(Uri.parse("https://github.com/xManager-v2/xManager-Spotify")); startActivity(Source); } catch(Exception e) { } } }); box_support.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { try { Support.setAction(Intent.ACTION_VIEW); Support.setData(Uri.parse("https://t.me/SpotifyModSupport")); startActivity(Support); } catch(Exception e) { } } }); box_donate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { try { _RequiredDialog(Donation, false); Donation.setTitle(show_support.getText().toString()); Donation.setMessage(show_support_desc.getText().toString()); Donation.setPositiveButton(donate.getText().toString(), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Donation, true); Donate.setAction(Intent.ACTION_VIEW); Donate.setData(Uri.parse("https://www.paypal.me/mrvnce")); startActivity(Donate); } }); Donation.setNeutralButton(not_now.getText().toString(), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Donation, true); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Donation.create().show(); } catch(Exception e) { } } }); box_about.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { main_body_optimization.setVisibility(View.GONE); main_scroll_settings.setVisibility(View.GONE); main_scroll_about.setVisibility(View.VISIBLE); main_refresh_layout.setVisibility(View.GONE); box_update.setVisibility(View.GONE); box_switch.setVisibility(View.GONE); title_header.setText(about_title.getText().toString()); _Animation_2(); } }); _Connection_request_listener = new RequestNetwork.RequestListener() { @Override public void onResponse(String _param1, String _param2) { final String _tag = _param1; final String _response = _param2; Regular_Mod.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } sub_1.setText(VERSIONS_REGULAR); main_body.setEnabled(false); main_body.setAlpha((float)(0.65d)); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Amoled_Black.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } sub_3.setText(VERSIONS_AMOLED); main_body.setEnabled(true); main_body.setAlpha((float)(1.0d)); } @Override public void onCancelled(DatabaseError _databaseError) { } }); } @Override public void onErrorResponse(String _param1, String _param2) { final String _tag = _param1; final String _message = _param2; com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "Slow or No Internet Connection. Try again later.", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("", new View.OnClickListener(){ @Override public void onClick(View _view) { } }).show(); main_body.setAlpha((float)(0.65d)); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { main_body.setAlpha((float)(1.0d)); } }); } }; _timer.schedule(Timer, (int)(700)); } }; _Version_child_listener = new ChildEventListener() { @Override public void onChildAdded(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); } @Override public void onChildChanged(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); } @Override public void onChildMoved(DataSnapshot _param1, String _param2) { } @Override public void onChildRemoved(DataSnapshot _param1) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); } @Override public void onCancelled(DatabaseError _param1) { final int _errorCode = _param1.getCode(); final String _errorMessage = _param1.getMessage(); } }; Version.addChildEventListener(_Version_child_listener); _xManager_Update_child_listener = new ChildEventListener() { @Override public void onChildAdded(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); xManager_Update.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } try { hidden_download.setText(_childValue.get("Links").toString()); } catch(Exception e) { } } @Override public void onCancelled(DatabaseError _databaseError) { } }); } @Override public void onChildChanged(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); } @Override public void onChildMoved(DataSnapshot _param1, String _param2) { } @Override public void onChildRemoved(DataSnapshot _param1) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); } @Override public void onCancelled(DatabaseError _param1) { final int _errorCode = _param1.getCode(); final String _errorMessage = _param1.getMessage(); } }; xManager_Update.addChildEventListener(_xManager_Update_child_listener); _Mod_Changelogs_child_listener = new ChildEventListener() { @Override public void onChildAdded(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); Mod_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } try { changelogs_x.setText(_childValue.get("Changelogs").toString()); } catch(Exception e) { } } @Override public void onCancelled(DatabaseError _databaseError) { } }); } @Override public void onChildChanged(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); } @Override public void onChildMoved(DataSnapshot _param1, String _param2) { } @Override public void onChildRemoved(DataSnapshot _param1) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); } @Override public void onCancelled(DatabaseError _param1) { final int _errorCode = _param1.getCode(); final String _errorMessage = _param1.getMessage(); } }; Mod_Changelogs.addChildEventListener(_Mod_Changelogs_child_listener); _xManager_Changelogs_child_listener = new ChildEventListener() { @Override public void onChildAdded(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); xManager_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } try { app_changelogs.setText(_childValue.get("App_Changelogs").toString()); } catch(Exception e) { } } @Override public void onCancelled(DatabaseError _databaseError) { } }); } @Override public void onChildChanged(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); } @Override public void onChildMoved(DataSnapshot _param1, String _param2) { } @Override public void onChildRemoved(DataSnapshot _param1) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); } @Override public void onCancelled(DatabaseError _param1) { final int _errorCode = _param1.getCode(); final String _errorMessage = _param1.getMessage(); } }; xManager_Changelogs.addChildEventListener(_xManager_Changelogs_child_listener); _Regular_Mod_child_listener = new ChildEventListener() { @Override public void onChildAdded(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); Regular_Mod.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } try { listdata.add(_childValue); sub_1.setText(_childKey.replace("-", ".").replace("Spotify v", " ").replace("(Armeabi.v7a)", " ").replace("(Arm64.v8a)", " ")); VERSIONS.edit().putString("REGULAR", _childKey.replace("-", ".").replace("Spotify v", " ").replace("(Armeabi.v7a)", "").replace("(Arm64.v8a)", "")).commit(); list_menu_1.setAdapter(new List_menu_1Adapter(listdata)); ((BaseAdapter)list_menu_1.getAdapter()).notifyDataSetChanged(); } catch(Exception e) { } } @Override public void onCancelled(DatabaseError _databaseError) { } }); } @Override public void onChildChanged(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); } @Override public void onChildMoved(DataSnapshot _param1, String _param2) { } @Override public void onChildRemoved(DataSnapshot _param1) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); try { Intent intent = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName() ); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); } catch(Exception e) { } } @Override public void onCancelled(DatabaseError _param1) { final int _errorCode = _param1.getCode(); final String _errorMessage = _param1.getMessage(); } }; Regular_Mod.addChildEventListener(_Regular_Mod_child_listener); _Amoled_Black_child_listener = new ChildEventListener() { @Override public void onChildAdded(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); Amoled_Black.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } try { listdata.add(_childValue); sub_3.setText(_childKey.replace("-", ".").replace("Spotify v", " ").replace("(Armeabi.v7a)", " ").replace("(Arm64.v8a)", " ")); VERSIONS.edit().putString("AMOLED", _childKey.replace("-", ".").replace("Spotify v", " ").replace("(Armeabi.v7a)", "").replace("(Arm64.v8a)", "")).commit(); list_menu_2.setAdapter(new List_menu_2Adapter(listdata)); ((BaseAdapter)list_menu_2.getAdapter()).notifyDataSetChanged(); } catch(Exception e) { } } @Override public void onCancelled(DatabaseError _databaseError) { } }); } @Override public void onChildChanged(DataSnapshot _param1, String _param2) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); } @Override public void onChildMoved(DataSnapshot _param1, String _param2) { } @Override public void onChildRemoved(DataSnapshot _param1) { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; final String _childKey = _param1.getKey(); final HashMap _childValue = _param1.getValue(_ind); try { Intent intent = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName() ); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); } catch(Exception e) { } } @Override public void onCancelled(DatabaseError _param1) { final int _errorCode = _param1.getCode(); final String _errorMessage = _param1.getMessage(); } }; Amoled_Black.addChildEventListener(_Amoled_Black_child_listener); } private void initializeLogic() { try { _Dark_Navigation(); _Informations(); _Animation_0(); _Model_UI(); _Translations(); } catch(Exception e) { } } @Override protected void onActivityResult(int _requestCode, int _resultCode, Intent _data) { super.onActivityResult(_requestCode, _resultCode, _data); switch (_requestCode) { default: break; } } @Override public void onBackPressed() { if (CHECK == 0) { CHECK = 1; Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { CHECK = 0; } }); } }; _timer.schedule(Timer, (int)(3000)); } else { finishAndRemoveTask(); finishAffinity(); } } @Override public void onResume() { super.onResume(); _Hide_Navigation(); } private void _Informations () { sub_2.setText("N/A"); cpu.setText("N/A"); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { String uri = "com.spotify.music"; android.content.pm.PackageManager pm = getPackageManager(); try { android.content.pm.PackageInfo pInfo = pm.getPackageInfo(uri, android.content.pm.PackageManager.GET_ACTIVITIES); String version = pInfo.versionName; sub_2.setText(version); sub_4.setText(version); } catch (Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Application not installed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } String app = "com.xc3fff0e.xmanager"; android.content.pm.PackageManager ver = getPackageManager(); try { android.content.pm.PackageInfo pInfo = ver.getPackageInfo(app, android.content.pm.PackageManager.GET_ACTIVITIES); String version = pInfo.versionName; app_version.setText(version); } catch (Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Application not installed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } cpu.setText(Build.CPU_ABI); cpu.setText(cpu.getText().toString().toUpperCase()); } }); } }; _timer.schedule(Timer, (int)(750)); } private void _RequiredDialog (final AlertDialog.Builder _Dialog, final boolean _True) { _Dialog.setCancelable(_True); } private void _Download (final String _url, final String _path) { try { FileUtil.makeDir(FileUtil.getPackageDataDir(getApplicationContext())); android.net.ConnectivityManager connMgr = (android.net.ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); android.net.NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isConnected()) { final String urlDownload = _url; DownloadManager.Request request = new DownloadManager.Request(Uri.parse(urlDownload)); final String fileName = URLUtil.guessFileName(urlDownload, null, null); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN); request.setMimeType("application/vnd.android.package-archive"); request.allowScanningByMediaScanner(); request.setDestinationInExternalFilesDir(this,Environment.DIRECTORY_DOWNLOADS, "Spotify Mod (Official).apk"); final DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); final long downloadId = manager.enqueue(request); final ProgressDialog prog = new ProgressDialog(this, ProgressDialog.THEME_DEVICE_DEFAULT_DARK); prog.setMax(100); prog.setIndeterminate(false); prog.setCancelable(false); prog.setCanceledOnTouchOutside(false); prog.setTitle(downloading_file_0); new Thread(new Runnable() { @Override public void run() { boolean downloading = true; while (downloading) { DownloadManager.Query q = new DownloadManager.Query(); q.setFilterById(downloadId); android.database.Cursor cursor = manager.query(q); if (cursor != null) { if (cursor.moveToFirst()) { int bytes_downloaded = cursor.getInt(cursor .getColumnIndex(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR)); int bytes_total = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES)); if (cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)) == DownloadManager.STATUS_SUCCESSFUL) { downloading = false; } if (cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)) == DownloadManager.STATUS_FAILED) { runOnUiThread(new Runnable() { public void run() { SketchwareUtil.CustomToast(getApplicationContext(), "The file or link is currently unavailable. Please try again later.", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } }); prog.cancel(); break; } final int dl_progress = (int) ((bytes_downloaded * 100l) / bytes_total); runOnUiThread(new Runnable() { @Override public void run() { prog.setTitle(downloading_file_0); prog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); prog.setProgress(dl_progress); prog.setMax(100); prog.show(); if (dl_progress == prog.getMax()) { Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { try { FileUtil.copyFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Spotify Mod (Official).apk", apk_path_location.getText().toString().concat("Spotify Mod (Official).apk")); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Copying failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } _RequiredDialog(Success_Download, false); Success_Download.setTitle(download_success_0); Success_Download.setPositiveButton(install_now_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy(builder.build()); if(android.os.Build.VERSION.SDK_INT >= 29){ try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setDataAndType(FileProvider.getUriForFile(MainActivity.this, "com.xc3fff0e.xmanager.provider", new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Spotify Mod (Official).apk")), "application/vnd.android.package-archive"); startActivity(intent); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } else { try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Spotify Mod (Official).apk")), "application/vnd.android.package-archive"); startActivity(intent); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } } }); Success_Download.setNegativeButton(directory_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); _RequiredDialog(Directory, false); Directory.setTitle(file_directory_0); Directory.setMessage("<".concat(apk_path_location.getText().toString().concat(">"))); Directory.setPositiveButton(go_back_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Directory, true); _RequiredDialog(Success_Download, false); Success_Download.create().show(); } }); Directory.create().show(); } }); Success_Download.setNeutralButton(later_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Success_Download.create().show(); SketchwareUtil.CustomToast(getApplicationContext(), "Download Complete", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); prog.cancel(); } }); } }; _timer.schedule(Timer, (int)(1500)); } } }); } cursor.close(); } } } }).start(); } else { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "No Internet Connection", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("", new View.OnClickListener(){ @Override public void onClick(View _view) { } }).show(); } } catch(Exception e) { } } private void _File_Remover () { if (FileUtil.isExistFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Spotify Mod (Official).apk")) { FileUtil.deleteFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Spotify Mod (Official).apk"); } if (FileUtil.isExistFile(apk_path_location.getText().toString().concat("Spotify Mod (Official).apk"))) { FileUtil.deleteFile(apk_path_location.getText().toString().concat("Spotify Mod (Official).apk")); } if (FileUtil.isExistFile("/storage/emulated/0/xManager/Spotify Mod (Official).apk")) { FileUtil.deleteFile("/storage/emulated/0/xManager/Spotify Mod (Official).apk"); } } private void _Update_Remover () { if (FileUtil.isExistFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/xManager Update.apk")) { FileUtil.deleteFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/xManager Update.apk"); } if (FileUtil.isExistFile("/storage/emulated/0/xManager/Update/xManager Update.apk")) { FileUtil.deleteFile("/storage/emulated/0/xManager/Update/xManager Update.apk"); } } private void _Model_UI () { title_header.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); title_sub.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); title_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); title_2.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); sub_text_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); sub_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); sub_text_2.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); sub_2.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); sub_text_3.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); sub_3.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); sub_text_4.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); sub_4.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); title_sub.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); device_cpu.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); cpu.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); support.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); donate.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); about.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); source.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); version_switch_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); version_switch_2.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); theme.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); green_theme.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 0); purple_theme.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 0); red_theme.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 0); blue_theme.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 0); orange_theme.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 0); yellow_theme.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 0); gray_theme.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 0); title_about.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); developer_manager.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); developer_spotify.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); support_team.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); mod_testers_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); mobilism_team.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); forum_team.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); manager_team.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); developer_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); developer_2.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); support_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); testers_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); mobilism_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); forum_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); manager_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); contributors_1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); changelogs.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); changelogs_x.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); sub_title.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); app_version.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); navigation_bar.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); list_auto_refresh.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); list_auto_refresh_info.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); apk_location_info.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); apk_location.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); reset_settings.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); clear_directory_folders.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); force_auto_install.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); force_auto_install_info.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); copy_url_mode.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); copy_file_url_mode_info.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); clear_directory_folders_info.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); mod_testers_2.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); testers_2.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); list_menu_1.setVisibility(View.GONE); list_menu_2.setVisibility(View.GONE); box_5_sub_2.setVisibility(View.GONE); box_6_sub_2.setVisibility(View.GONE); list_menu_1.smoothScrollToPosition((int)(0)); list_menu_2.smoothScrollToPosition((int)(0)); if (!ON_SCREEN.getString("ON_SCREEN", "").equals("ON_SCREEN")) { try { final ProgressDialog prog_0 = new ProgressDialog(MainActivity.this, ProgressDialog.THEME_DEVICE_DEFAULT_DARK); prog_0.setMax(100); prog_0.setMessage("Initial optimization. Please wait..."); prog_0.setIndeterminate(true); prog_0.setCancelable(false); if (!MainActivity.this.isFinishing()){ prog_0.show(); } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { prog_0.dismiss(); final ProgressDialog prog_1 = new ProgressDialog(MainActivity.this, ProgressDialog.THEME_DEVICE_DEFAULT_DARK); prog_1.setMax(100); prog_1.setMessage("Relaunching..."); prog_1.setIndeterminate(true); prog_1.setCancelable(false); prog_1.show(); if (!MainActivity.this.isFinishing()){ return; } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { prog_1.dismiss(); } }); } }; _timer.schedule(Timer, (int)(9000)); } }); } }; _timer.schedule(Timer, (int)(8000)); if (FileUtil.isExistFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/")) { FileUtil.deleteFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/"); } if (FileUtil.isExistFile("/storage/emulated/0/xManager/")) { FileUtil.deleteFile("/storage/emulated/0/xManager/"); } main_body.setEnabled(false); main_body.setAlpha((float)(0.65d)); Regular_Mod.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { sub_1.setText(VERSIONS.getString("REGULAR", "")); list_menu_1.smoothScrollToPosition((int)(999)); version_switch_1.setChecked(true); version_switch_2.setChecked(false); changelogs_switch.setChecked(false); main_body.setAlpha((float)(0.65d)); } }); } }; _timer.schedule(Timer, (int)(300)); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Amoled_Black.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { sub_3.setText(VERSIONS.getString("AMOLED", "")); } }); } }; _timer.schedule(Timer, (int)(300)); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { list_menu_2.smoothScrollToPosition((int)(999)); version_switch_1.setChecked(false); version_switch_2.setChecked(true); changelogs_switch.setChecked(false); main_body.setAlpha((float)(0.65d)); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { version_switch_1.setChecked(false); version_switch_2.setChecked(false); changelogs_switch.setChecked(true); main_body.setAlpha((float)(0.65d)); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { version_switch_1.setChecked(false); version_switch_2.setChecked(false); changelogs_switch.setChecked(false); main_body.setEnabled(true); main_body.setAlpha((float)(1.0d)); } }); } }; _timer.schedule(Timer, (int)(900)); } }); } }; _timer.schedule(Timer, (int)(800)); } }); } }; _timer.schedule(Timer, (int)(800)); } @Override public void onCancelled(DatabaseError _databaseError) { } }); xManager_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } xManager_Changelogs.addChildEventListener(_xManager_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Mod_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Mod_Changelogs.addChildEventListener(_Mod_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Version.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Version.addChildEventListener(_Version_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { ON_SCREEN.edit().putString("ON_SCREEN", "ON_SCREEN").commit(); try { Intent intent = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName() ); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); } catch (Exception e) { } } }); } }; _timer.schedule(Timer, (int)(10000)); main_body_optimization.setVisibility(View.VISIBLE); main_scroll_settings.setVisibility(View.GONE); main_scroll_about.setVisibility(View.GONE); main_refresh_layout.setVisibility(View.GONE); box_switch.setVisibility(View.GONE); box_update.setVisibility(View.GONE); Connection.startRequestNetwork(RequestNetworkController.GET, "https://spotify.com", "PAWN!", _Connection_request_listener); } catch(Exception e) { } } else { try { Regular_Mod.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { sub_1.setText(VERSIONS.getString("REGULAR", "")); list_menu_1.setAdapter(new List_menu_1Adapter(listdata)); ((BaseAdapter)list_menu_1.getAdapter()).notifyDataSetChanged(); main_body.setEnabled(false); main_body.setAlpha((float)(0.65d)); } }); } }; _timer.schedule(Timer, (int)(300)); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Amoled_Black.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { sub_3.setText(VERSIONS.getString("AMOLED", "")); } }); } }; _timer.schedule(Timer, (int)(300)); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { list_menu_2.setAdapter(new List_menu_2Adapter(listdata)); ((BaseAdapter)list_menu_2.getAdapter()).notifyDataSetChanged(); main_body.setEnabled(true); main_body.setAlpha((float)(1.0d)); } }); } }; _timer.schedule(Timer, (int)(800)); } @Override public void onCancelled(DatabaseError _databaseError) { } }); xManager_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } xManager_Changelogs.addChildEventListener(_xManager_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Mod_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Mod_Changelogs.addChildEventListener(_Mod_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Version.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Version.addChildEventListener(_Version_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); main_body_optimization.setVisibility(View.GONE); main_scroll_settings.setVisibility(View.GONE); main_scroll_about.setVisibility(View.GONE); main_refresh_layout.setVisibility(View.VISIBLE); box_update.setVisibility(View.VISIBLE); box_switch.setVisibility(View.VISIBLE); icon_update.setAlpha((float)(1.0d)); icon_switch.setAlpha((float)(1.0d)); Connection.startRequestNetwork(RequestNetworkController.GET, "https://spotify.com", "PAWN!", _Connection_request_listener); _Updater(); } catch(Exception e) { } } apk_path_location.setText(APK_PATH.getString("PATH", "")); CHECK = 0; _Update_Remover(); _Updater_Check(); _Switch_Fixer(); _Animation_5(); _List_Updater(); _Theme_UI(); _Effects(); _Url_Mode(); _Switch_Checker(); } private void _Theme_UI () { if (THEME.getString("THEME", "").equals("0")) { green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (THEME.getString("THEME", "").equals("1")) { green_switch.setChecked(true); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (THEME.getString("THEME", "").equals("2")) { green_switch.setChecked(false); purple_switch.setChecked(true); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (THEME.getString("THEME", "").equals("3")) { green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(true); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (THEME.getString("THEME", "").equals("4")) { green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(true); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (THEME.getString("THEME", "").equals("5")) { green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(true); yellow_switch.setChecked(false); gray_switch.setChecked(false); } else { if (THEME.getString("THEME", "").equals("6")) { green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(true); gray_switch.setChecked(false); } else { if (THEME.getString("THEME", "").equals("7")) { green_switch.setChecked(false); purple_switch.setChecked(false); red_switch.setChecked(false); blue_switch.setChecked(false); orange_switch.setChecked(false); yellow_switch.setChecked(false); gray_switch.setChecked(true); } } } } } } } } } private void _Updater () { try { Version.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { Versions_1 = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); Versions_1.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Latest_Version = Versions_1.get((int)0).get("V").toString(); if (Double.parseDouble(Latest_Version) > Double.parseDouble(Current_Version)) { _RequiredDialog(Update_Authorized, false); Update_Authorized.setTitle("NEW MANAGER UPDATE"); Update_Authorized.setPositiveButton("DOWNLOAD UPDATE", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { try { _RequiredDialog(Update_Authorized, true); if (FORCE_INSTALL_UPDATE.getString("FORCE_INSTALL_UPDATE", "").equals("XX")) { _Download_Update_Install(hidden_download.getText().toString(), "/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/"); } else { if (FORCE_INSTALL_UPDATE.getString("FORCE_INSTALL_UPDATE", "").equals("YY")) { _Download_Update(hidden_download.getText().toString(), "/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/"); } } _Update_Remover(); } catch(Exception e) { } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Update_Authorized.setNeutralButton("NOT NOW", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Update_Authorized, true); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Update_Authorized.create().show(); } else { if (Double.parseDouble(Current_Version) > Double.parseDouble(Latest_Version)) { try { main_body_optimization.setVisibility(View.VISIBLE); box_header.setVisibility(View.GONE); main_body_settings.setVisibility(View.GONE); main_scroll_about.setVisibility(View.GONE); main_refresh_layout.setVisibility(View.GONE); _RequiredDialog(Update_Unauthorized, false); Update_Unauthorized.setTitle("MAINTENANCE"); Update_Unauthorized.setMessage("xManager is currently unavailable right now. Kindly check the application later."); Update_Unauthorized.setPositiveButton("THANKS!", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Update_Unauthorized, true); finishAndRemoveTask(); finishAffinity(); } }); Update_Unauthorized.create().show(); } catch(Exception e) { } } else { Version.child("App").child("V").setValue(Current_Version); } } } @Override public void onCancelled(DatabaseError _databaseError) { } }); } catch(Exception e) { } } private void _Updater_Check () { Package_Name = "com.xc3fff0e.xmanager"; try { android.content.pm.PackageInfo pinfo = getPackageManager().getPackageInfo(Package_Name, android.content.pm.PackageManager.GET_ACTIVITIES); Current_Version = pinfo.versionName; } catch (Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Version unidentified", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } DatabaseReference rootRef = _firebase.getReference(); rootRef.child("version").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { if (snapshot.exists()) { } else { Versions = new HashMap<>(); Versions.put("V", Current_Version); Versions.clear(); Version.child("App").updateChildren(Versions); } } @Override public void onCancelled(DatabaseError _error) { } }); } private void _Download_Update (final String _url, final String _path) { try { FileUtil.makeDir(FileUtil.getPackageDataDir(getApplicationContext())); android.net.ConnectivityManager connMgr = (android.net.ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); android.net.NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isConnected()) { final String urlDownload = _url; DownloadManager.Request request = new DownloadManager.Request(Uri.parse(urlDownload)); final String fileName = URLUtil.guessFileName(urlDownload, null, null); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN); request.setMimeType("application/vnd.android.package-archive"); request.allowScanningByMediaScanner(); request.setDestinationInExternalFilesDir(this,Environment.DIRECTORY_DOWNLOADS, "/Update/xManager Update.apk"); final DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); final long downloadId = manager.enqueue(request); final ProgressDialog prog = new ProgressDialog(this, ProgressDialog.THEME_DEVICE_DEFAULT_DARK); prog.setMax(100); prog.setIndeterminate(false); prog.setCancelable(false); prog.setCanceledOnTouchOutside(false); prog.setTitle(downloading_file_0); new Thread(new Runnable() { @Override public void run() { boolean downloading = true; while (downloading) { DownloadManager.Query q = new DownloadManager.Query(); q.setFilterById(downloadId); android.database.Cursor cursor = manager.query(q); if (cursor != null) { if (cursor.moveToFirst()) { int bytes_downloaded = cursor.getInt(cursor .getColumnIndex(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR)); int bytes_total = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES)); if (cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)) == DownloadManager.STATUS_SUCCESSFUL) { downloading = false; } if (cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)) == DownloadManager.STATUS_FAILED) { runOnUiThread(new Runnable() { public void run() { SketchwareUtil.CustomToast(getApplicationContext(), "The file or link is currently unavailable. Please try again later.", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } }); prog.cancel(); break; } final int dl_progress = (int) ((bytes_downloaded * 100l) / bytes_total); runOnUiThread(new Runnable() { @Override public void run() { prog.setTitle(downloading_file_0); prog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); prog.setProgress(dl_progress); prog.setMax(100); prog.show(); if (dl_progress == prog.getMax()) { Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { try { FileUtil.copyFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/xManager Update.apk", "/storage/emulated/0/xManager/Update/xManager Update.apk"); prog.dismiss(); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Copying failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } _RequiredDialog(Success_Download, false); Success_Download.setTitle(download_success_0); Success_Download.setPositiveButton(install_update_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy(builder.build()); if(android.os.Build.VERSION.SDK_INT >= 29){ try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setDataAndType(FileProvider.getUriForFile(MainActivity.this, "com.xc3fff0e.xmanager.provider", new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/xManager Update.apk")), "application/vnd.android.package-archive"); startActivity(intent); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } else { try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/xManager Update.apk")), "application/vnd.android.package-archive"); startActivity(intent); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } } }); Success_Download.setNegativeButton(directory_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); _RequiredDialog(Directory, false); Directory.setTitle(file_directory_0); Directory.setMessage(""); Directory.setPositiveButton(go_back_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Directory, true); _RequiredDialog(Success_Download, false); Success_Download.create().show(); } }); Directory.create().show(); } }); Success_Download.setNeutralButton(later_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Success_Download.create().show(); SketchwareUtil.CustomToast(getApplicationContext(), "Download Complete", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); prog.cancel(); } }); } }; _timer.schedule(Timer, (int)(1500)); } } }); } cursor.close(); } } } }).start(); } else { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "No Internet Connection", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("", new View.OnClickListener(){ @Override public void onClick(View _view) { } }).show(); } } catch(Exception e) { } } private void _Effects () { _Ripple(box_update, "#9E9E9E"); _Ripple(box_switch, "#9E9E9E"); } private void _Ripple (final View _view, final String _c) { _view.setBackground(Drawables.getSelectableDrawableFor(Color.parseColor(_c))); _view.setClickable(true); } public static class Drawables { public static android.graphics.drawable.Drawable getSelectableDrawableFor(int color) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { android.graphics.drawable.StateListDrawable stateListDrawable = new android.graphics.drawable.StateListDrawable(); stateListDrawable.addState( new int[]{android.R.attr.state_pressed}, new android.graphics.drawable.ColorDrawable(Color.parseColor("#ffffff")) ); stateListDrawable.addState( new int[]{android.R.attr.state_focused}, new android.graphics.drawable.ColorDrawable(Color.parseColor("#00ffffff")) ); stateListDrawable.addState( new int[]{}, new android.graphics.drawable.ColorDrawable(Color.parseColor("#00ffffff")) ); return stateListDrawable; } else { android.content.res.ColorStateList pressedColor = android.content.res.ColorStateList.valueOf(color); android.graphics.drawable.ColorDrawable defaultColor = new android.graphics.drawable.ColorDrawable(Color.parseColor("#00ffffff")); android.graphics.drawable.Drawable rippleColor = getRippleColor(color); return new android.graphics.drawable.RippleDrawable( pressedColor, defaultColor, rippleColor ); } } private static android.graphics.drawable.Drawable getRippleColor(int color) { float[] outerRadii = new float[8]; Arrays.fill(outerRadii, 0); android.graphics.drawable.shapes.RoundRectShape r = new android.graphics.drawable.shapes.RoundRectShape(outerRadii, null, null); android.graphics.drawable.ShapeDrawable shapeDrawable = new android.graphics.drawable.ShapeDrawable(r); shapeDrawable.getPaint().setColor(color); return shapeDrawable; } private static int lightenOrDarken(int color, double fraction) { if (canLighten(color, fraction)) { return lighten(color, fraction); } else { return darken(color, fraction); } } private static int lighten(int color, double fraction) { int red = Color.red(color); int green = Color.green(color); int blue = Color.blue(color); red = lightenColor(red, fraction); green = lightenColor(green, fraction); blue = lightenColor(blue, fraction); int alpha = Color.alpha(color); return Color.argb(alpha, red, green, blue); } private static int darken(int color, double fraction) { int red = Color.red(color); int green = Color.green(color); int blue = Color.blue(color); red = darkenColor(red, fraction); green = darkenColor(green, fraction); blue = darkenColor(blue, fraction); int alpha = Color.alpha(color); return Color.argb(alpha, red, green, blue); } private static boolean canLighten(int color, double fraction) { int red = Color.red(color); int green = Color.green(color); int blue = Color.blue(color); return canLightenComponent(red, fraction) && canLightenComponent(green, fraction) && canLightenComponent(blue, fraction); } private static boolean canLightenComponent(int colorComponent, double fraction) { int red = Color.red(colorComponent); int green = Color.green(colorComponent); int blue = Color.blue(colorComponent); return red + (red * fraction) < 255 && green + (green * fraction) < 255 && blue + (blue * fraction) < 255; } private static int darkenColor(int color, double fraction) { return (int) Math.max(color - (color * fraction), 0); } private static int lightenColor(int color, double fraction) { return (int) Math.min(color + (color * fraction), 255); } } public static class CircleDrawables { public static android.graphics.drawable.Drawable getSelectableDrawableFor(int color) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { android.graphics.drawable.StateListDrawable stateListDrawable = new android.graphics.drawable.StateListDrawable(); stateListDrawable.addState( new int[]{android.R.attr.state_pressed}, new android.graphics.drawable.ColorDrawable(Color.parseColor("#ffffff")) ); stateListDrawable.addState( new int[]{android.R.attr.state_focused}, new android.graphics.drawable.ColorDrawable(Color.parseColor("#00ffffff")) ); stateListDrawable.addState( new int[]{}, new android.graphics.drawable.ColorDrawable(Color.parseColor("#00ffffff")) ); return stateListDrawable; } else { android.content.res.ColorStateList pressedColor = android.content.res.ColorStateList.valueOf(color); android.graphics.drawable.ColorDrawable defaultColor = new android.graphics.drawable.ColorDrawable(Color.parseColor("#00ffffff")); android.graphics.drawable.Drawable rippleColor = getRippleColor(color); return new android.graphics.drawable.RippleDrawable( pressedColor, defaultColor, rippleColor ); } } private static android.graphics.drawable.Drawable getRippleColor(int color) { float[] outerRadii = new float[180]; Arrays.fill(outerRadii, 80); android.graphics.drawable.shapes.RoundRectShape r = new android.graphics.drawable.shapes.RoundRectShape(outerRadii, null, null); android.graphics.drawable.ShapeDrawable shapeDrawable = new android.graphics.drawable.ShapeDrawable(r); shapeDrawable.getPaint().setColor(color); return shapeDrawable; } private static int lightenOrDarken(int color, double fraction) { if (canLighten(color, fraction)) { return lighten(color, fraction); } else { return darken(color, fraction); } } private static int lighten(int color, double fraction) { int red = Color.red(color); int green = Color.green(color); int blue = Color.blue(color); red = lightenColor(red, fraction); green = lightenColor(green, fraction); blue = lightenColor(blue, fraction); int alpha = Color.alpha(color); return Color.argb(alpha, red, green, blue); } private static int darken(int color, double fraction) { int red = Color.red(color); int green = Color.green(color); int blue = Color.blue(color); red = darkenColor(red, fraction); green = darkenColor(green, fraction); blue = darkenColor(blue, fraction); int alpha = Color.alpha(color); return Color.argb(alpha, red, green, blue); } private static boolean canLighten(int color, double fraction) { int red = Color.red(color); int green = Color.green(color); int blue = Color.blue(color); return canLightenComponent(red, fraction) && canLightenComponent(green, fraction) && canLightenComponent(blue, fraction); } private static boolean canLightenComponent(int colorComponent, double fraction) { int red = Color.red(colorComponent); int green = Color.green(colorComponent); int blue = Color.blue(colorComponent); return red + (red * fraction) < 255 && green + (green * fraction) < 255 && blue + (blue * fraction) < 255; } private static int darkenColor(int color, double fraction) { return (int) Math.max(color - (color * fraction), 0); } private static int lightenColor(int color, double fraction) { return (int) Math.min(color + (color * fraction), 255); } } public void drawableclass() { } private void _Hide_Navigation () { try { if (NAVIGATION_BAR.getString("NAVIGATION", "").equals("1")) { getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); navigation_switch.setChecked(true); } else { if (NAVIGATION_BAR.getString("NAVIGATION", "").equals("0")) { getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE); if (Build.VERSION.SDK_INT >= 21) { getWindow().setNavigationBarColor(Color.parseColor("#212121")); } navigation_switch.setChecked(false); } } } catch(Exception e) { } } private void _Animation_0 () { Animation a; a = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); a.setDuration(200); main_box_1.startAnimation(a); a = null; Animation b; b = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); b.setDuration(300); main_box_2.startAnimation(b); b = null; Animation c; c = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); c.setDuration(400); main_box_6.startAnimation(c); c = null; Animation d; d = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); d.setDuration(500); box_sub_header.startAnimation(d); d = null; Animation e; e = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); e.setDuration(600); main_box_4.startAnimation(e); e = null; Animation f; f = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); f.setDuration(300); title_header.startAnimation(f); f = null; Animation g; g = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); g.setDuration(400); box_switch.startAnimation(g); g = null; Animation h; h = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); h.setDuration(500); box_update.startAnimation(h); h = null; } private void _Animation_1 () { Animation i; i = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); i.setDuration(200); box_settings_close.startAnimation(i); i = null; Animation j; j = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); j.setDuration(600); main_box_7.startAnimation(j); j = null; Animation k; k = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); k.setDuration(700); main_box_5.startAnimation(k); k = null; Animation l; l = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); l.setDuration(300); title_header.startAnimation(l); l = null; Animation z; z = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); z.setDuration(300); main_box_8.startAnimation(z); z = null; Animation hh; hh = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); hh.setDuration(800); main_box_9.startAnimation(hh); hh = null; Animation ii; ii = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); ii.setDuration(900); main_box_10.startAnimation(ii); ii = null; Animation jj; jj = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); jj.setDuration(1000); main_box_13.startAnimation(jj); jj = null; Animation kk; kk = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); kk.setDuration(400); main_box_11.startAnimation(kk); kk = null; Animation ll; ll = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); ll.setDuration(500); main_box_12.startAnimation(ll); ll = null; } private void _Animation_2 () { Animation m; m = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); m.setDuration(200); box_about_close.startAnimation(m); m = null; Animation n; n = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); n.setDuration(300); box_about_header.startAnimation(n); n = null; Animation o; o = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); o.setDuration(400); sub_title.startAnimation(o); o = null; Animation p; p = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); p.setDuration(500); box_about_1.startAnimation(p); p = null; Animation q; q = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); q.setDuration(600); box_about_2.startAnimation(q); q = null; Animation r; r = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); r.setDuration(700); box_about_3.startAnimation(r); r = null; Animation s; s = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); s.setDuration(800); box_about_4.startAnimation(s); s = null; Animation t; t = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); t.setDuration(900); box_about_5.startAnimation(t); t = null; Animation u; u = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); u.setDuration(1000); box_about_6.startAnimation(u); u = null; Animation v; v = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); v.setDuration(1100); box_about_7.startAnimation(v); v = null; Animation w; w = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); w.setDuration(1200); contributors_1.startAnimation(w); w = null; Animation x; x = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); x.setDuration(300); title_header.startAnimation(x); x = null; } private void _Animation_3 () { Animation aa; aa = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); aa.setDuration(200); box_theme_0.startAnimation(aa); aa = null; Animation bb; bb = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); bb.setDuration(300); box_theme_1.startAnimation(bb); bb = null; Animation cc; cc = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); cc.setDuration(400); box_theme_2.startAnimation(cc); cc = null; Animation dd; dd = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); dd.setDuration(500); box_theme_3.startAnimation(dd); dd = null; Animation ee; ee = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); ee.setDuration(600); box_theme_4.startAnimation(ee); ee = null; Animation ff; ff = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); ff.setDuration(700); box_theme_5.startAnimation(ff); ff = null; Animation gg; gg = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); gg.setDuration(800); box_theme_6.startAnimation(gg); gg = null; } private void _Animation_4 () { Animation a; a = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); a.setDuration(200); main_box_1.startAnimation(a); a = null; Animation b; b = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); b.setDuration(300); main_box_2.startAnimation(b); b = null; Animation c; c = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); c.setDuration(400); main_box_6.startAnimation(c); c = null; Animation d; d = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); d.setDuration(500); box_sub_header.startAnimation(d); d = null; Animation e; e = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); e.setDuration(600); main_box_4.startAnimation(e); e = null; } private void _Dark_Navigation () { if (Build.VERSION.SDK_INT >= 21) { getWindow().setNavigationBarColor(Color.parseColor("#212121")); } } private void _Linear_Animation (final boolean _clickanim, final double _animDuration, final View _view) { _view.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN:{ ObjectAnimator scaleX = new ObjectAnimator(); scaleX.setTarget(_view); scaleX.setPropertyName("scaleX"); scaleX.setFloatValues(0.9f); scaleX.setDuration((int)_animDuration); scaleX.start(); ObjectAnimator scaleY = new ObjectAnimator(); scaleY.setTarget(_view); scaleY.setPropertyName("scaleY"); scaleY.setFloatValues(0.9f); scaleY.setDuration((int)_animDuration); scaleY.start(); break; } case MotionEvent.ACTION_UP:{ ObjectAnimator scaleX = new ObjectAnimator(); scaleX.setTarget(_view); scaleX.setPropertyName("scaleX"); scaleX.setFloatValues((float)1); scaleX.setDuration((int)_animDuration); scaleX.start(); ObjectAnimator scaleY = new ObjectAnimator(); scaleY.setTarget(_view); scaleY.setPropertyName("scaleY"); scaleY.setFloatValues((float)1); scaleY.setDuration((int)_animDuration); scaleY.start(); break; } } return false; } }); } private void _Animation_5 () { _Linear_Animation(true, 100, box_uninstall); _Linear_Animation(true, 100, box_settings); _Linear_Animation(true, 100, box_cache); _Linear_Animation(true, 100, box_open); _Linear_Animation(true, 100, box_source); _Linear_Animation(true, 100, box_support); _Linear_Animation(true, 100, box_donate); _Linear_Animation(true, 100, box_about); _Linear_Animation(true, 100, box_switch); _Linear_Animation(true, 100, box_update); _Linear_Animation(true, 100, main_box_10); _Linear_Animation(true, 100, box_icon_close); _Linear_Animation(true, 100, box_reset_settings); _Linear_Animation(true, 100, box_settings_icon_close); } private void _List_Updater () { if (LIST_REFRESH.getString("UPDATE", "").equals("ON")) { try { main_body.setEnabled(false); list_auto_refresh_switch.setChecked(true); Regular_Mod.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { sub_1.setText(VERSIONS.getString("REGULAR", "")); list_menu_1.smoothScrollToPosition((int)(999)); version_switch_1.setChecked(true); version_switch_2.setChecked(false); changelogs_switch.setChecked(false); main_body.setAlpha((float)(0.65d)); } }); } }; _timer.schedule(Timer, (int)(300)); if (!force_auto_install_switch.isChecked() && !copy_url_mode_switch.isChecked()) { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "Refreshing List...", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("", new View.OnClickListener(){ @Override public void onClick(View _view) { } }).show(); } } @Override public void onCancelled(DatabaseError _databaseError) { } }); Amoled_Black.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { sub_3.setText(VERSIONS.getString("AMOLED", "")); } }); } }; _timer.schedule(Timer, (int)(300)); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { list_menu_2.smoothScrollToPosition((int)(999)); version_switch_1.setChecked(false); version_switch_2.setChecked(true); changelogs_switch.setChecked(false); main_body.setAlpha((float)(0.65d)); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { version_switch_1.setChecked(false); version_switch_2.setChecked(false); changelogs_switch.setChecked(true); main_body.setAlpha((float)(0.65d)); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { version_switch_1.setChecked(false); version_switch_2.setChecked(false); changelogs_switch.setChecked(false); main_body.setEnabled(true); main_body.setAlpha((float)(1.0d)); if (!force_auto_install_switch.isChecked() && !copy_url_mode_switch.isChecked()) { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "List Updated", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("", new View.OnClickListener(){ @Override public void onClick(View _view) { } }).show(); } } }); } }; _timer.schedule(Timer, (int)(900)); } }); } }; _timer.schedule(Timer, (int)(800)); } }); } }; _timer.schedule(Timer, (int)(800)); } @Override public void onCancelled(DatabaseError _databaseError) { } }); xManager_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } xManager_Changelogs.addChildEventListener(_xManager_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Mod_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Mod_Changelogs.addChildEventListener(_Mod_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Version.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Version.addChildEventListener(_Version_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Connection.startRequestNetwork(RequestNetworkController.GET, "https://spotify.com", "PAWN!", _Connection_request_listener); main_body_optimization.setVisibility(View.GONE); main_scroll_settings.setVisibility(View.GONE); main_scroll_about.setVisibility(View.GONE); main_refresh_layout.setVisibility(View.VISIBLE); box_update.setVisibility(View.VISIBLE); box_switch.setVisibility(View.VISIBLE); icon_update.setAlpha((float)(1.0d)); icon_switch.setAlpha((float)(1.0d)); } catch(Exception e) { } } else { if (LIST_REFRESH.getString("UPDATE", "").equals("OFF")) { try { list_auto_refresh_switch.setChecked(false); Regular_Mod.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { sub_1.setText(VERSIONS.getString("REGULAR", "")); list_menu_1.setAdapter(new List_menu_1Adapter(listdata)); ((BaseAdapter)list_menu_1.getAdapter()).notifyDataSetChanged(); main_body.setEnabled(false); main_body.setAlpha((float)(0.65d)); } }); } }; _timer.schedule(Timer, (int)(300)); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Amoled_Black.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { listdata = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); listdata.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { sub_3.setText(VERSIONS.getString("AMOLED", "")); } }); } }; _timer.schedule(Timer, (int)(300)); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { list_menu_2.setAdapter(new List_menu_2Adapter(listdata)); ((BaseAdapter)list_menu_2.getAdapter()).notifyDataSetChanged(); main_body.setEnabled(true); main_body.setAlpha((float)(1.0d)); } }); } }; _timer.schedule(Timer, (int)(800)); } @Override public void onCancelled(DatabaseError _databaseError) { } }); xManager_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } xManager_Changelogs.addChildEventListener(_xManager_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Mod_Changelogs.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Mod_Changelogs.addChildEventListener(_Mod_Changelogs_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); Version.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot _dataSnapshot) { others = new ArrayList<>(); try { GenericTypeIndicator> _ind = new GenericTypeIndicator>() {}; for (DataSnapshot _data : _dataSnapshot.getChildren()) { HashMap _map = _data.getValue(_ind); others.add(_map); } } catch (Exception _e) { _e.printStackTrace(); } Version.addChildEventListener(_Version_child_listener); } @Override public void onCancelled(DatabaseError _databaseError) { } }); main_body_optimization.setVisibility(View.GONE); main_scroll_settings.setVisibility(View.GONE); main_scroll_about.setVisibility(View.GONE); main_refresh_layout.setVisibility(View.VISIBLE); box_update.setVisibility(View.VISIBLE); box_switch.setVisibility(View.VISIBLE); icon_update.setAlpha((float)(1.0d)); icon_switch.setAlpha((float)(1.0d)); Connection.startRequestNetwork(RequestNetworkController.GET, "https://spotify.com", "PAWN!", _Connection_request_listener); _Updater(); } catch(Exception e) { } } } } private void _Default_Path () { if (PATH.equals("")) { apk_path_location.setText("/storage/emulated/0/xManager/"); } else { APK_PATH.edit().putString("PATH", apk_path_location.getText().toString()).commit(); } } private void _Download_Install (final String _url, final String _path) { try { FileUtil.makeDir(FileUtil.getPackageDataDir(getApplicationContext())); android.net.ConnectivityManager connMgr = (android.net.ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); android.net.NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isConnected()) { final String urlDownload = _url; DownloadManager.Request request = new DownloadManager.Request(Uri.parse(urlDownload)); final String fileName = URLUtil.guessFileName(urlDownload, null, null); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN); request.setMimeType("application/vnd.android.package-archive"); request.allowScanningByMediaScanner(); request.setDestinationInExternalFilesDir(this,Environment.DIRECTORY_DOWNLOADS, "Spotify Mod (Official).apk"); final DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); final long downloadId = manager.enqueue(request); final ProgressDialog prog = new ProgressDialog(this, ProgressDialog.THEME_DEVICE_DEFAULT_DARK); prog.setMax(100); prog.setIndeterminate(false); prog.setCancelable(false); prog.setCanceledOnTouchOutside(false); prog.setTitle(downloading_file_0); new Thread(new Runnable() { @Override public void run() { boolean downloading = true; while (downloading) { DownloadManager.Query q = new DownloadManager.Query(); q.setFilterById(downloadId); android.database.Cursor cursor = manager.query(q); if (cursor != null) { if (cursor.moveToFirst()) { int bytes_downloaded = cursor.getInt(cursor .getColumnIndex(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR)); int bytes_total = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES)); if (cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)) == DownloadManager.STATUS_SUCCESSFUL) { downloading = false; } if (cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)) == DownloadManager.STATUS_FAILED) { runOnUiThread(new Runnable() { public void run() { SketchwareUtil.CustomToast(getApplicationContext(), "The file or link is currently unavailable. Please try again later.", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } }); prog.cancel(); break; } final int dl_progress = (int) ((bytes_downloaded * 100l) / bytes_total); runOnUiThread(new Runnable() { @Override public void run() { prog.setTitle(downloading_file_0); prog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); prog.setProgress(dl_progress); prog.setMax(100); prog.show(); if (dl_progress == prog.getMax()) { Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { try { FileUtil.copyFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Spotify Mod (Official).apk", apk_path_location.getText().toString().concat("Spotify Mod (Official).apk")); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Copying failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } _RequiredDialog(Success_Download, false); Success_Download.setTitle(download_success_0); Success_Download.setPositiveButton(install_now_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy(builder.build()); if(android.os.Build.VERSION.SDK_INT >= 29){ try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setDataAndType(FileProvider.getUriForFile(MainActivity.this, "com.xc3fff0e.xmanager.provider", new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Spotify Mod (Official).apk")), "application/vnd.android.package-archive"); startActivity(intent); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } else { try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Spotify Mod (Official).apk")), "application/vnd.android.package-archive"); startActivity(intent); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } } }); Success_Download.setNegativeButton(directory_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); _RequiredDialog(Directory, false); Directory.setTitle(file_directory_0); Directory.setMessage("<".concat(apk_path_location.getText().toString().concat(">"))); Directory.setPositiveButton(go_back_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Directory, true); _RequiredDialog(Success_Download, false); Success_Download.create().show(); } }); Directory.create().show(); } }); Success_Download.setNeutralButton(later_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); prog.cancel(); Success_Download.create().dismiss(); StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy(builder.build()); if(android.os.Build.VERSION.SDK_INT >= 29){ try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setDataAndType(FileProvider.getUriForFile(MainActivity.this, "com.xc3fff0e.xmanager.provider", new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Spotify Mod (Official).apk")), "application/vnd.android.package-archive"); startActivity(intent); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } else { try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Spotify Mod (Official).apk")), "application/vnd.android.package-archive"); startActivity(intent); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } } }); } }; _timer.schedule(Timer, (int)(1500)); } } }); } cursor.close(); } } } }).start(); } else { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "No Internet Connection", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("", new View.OnClickListener(){ @Override public void onClick(View _view) { } }).show(); } } catch(Exception e) { } } private void _Download_Update_Install (final String _url, final String _path) { try { FileUtil.makeDir(FileUtil.getPackageDataDir(getApplicationContext())); android.net.ConnectivityManager connMgr = (android.net.ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); android.net.NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isConnected()) { final String urlDownload = _url; DownloadManager.Request request = new DownloadManager.Request(Uri.parse(urlDownload)); final String fileName = URLUtil.guessFileName(urlDownload, null, null); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN); request.setMimeType("application/vnd.android.package-archive"); request.allowScanningByMediaScanner(); request.setDestinationInExternalFilesDir(this,Environment.DIRECTORY_DOWNLOADS, "/Update/xManager Update.apk"); final DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); final long downloadId = manager.enqueue(request); final ProgressDialog prog = new ProgressDialog(this, ProgressDialog.THEME_DEVICE_DEFAULT_DARK); prog.setMax(100); prog.setIndeterminate(false); prog.setCancelable(false); prog.setCanceledOnTouchOutside(false); prog.setTitle(downloading_file_0); new Thread(new Runnable() { @Override public void run() { boolean downloading = true; while (downloading) { DownloadManager.Query q = new DownloadManager.Query(); q.setFilterById(downloadId); android.database.Cursor cursor = manager.query(q); if (cursor != null) { if (cursor.moveToFirst()) { int bytes_downloaded = cursor.getInt(cursor .getColumnIndex(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR)); int bytes_total = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES)); if (cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)) == DownloadManager.STATUS_SUCCESSFUL) { downloading = false; } if (cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)) == DownloadManager.STATUS_FAILED) { runOnUiThread(new Runnable() { public void run() { SketchwareUtil.CustomToast(getApplicationContext(), "The file or link is currently unavailable. Please try again later.", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } }); prog.cancel(); break; } final int dl_progress = (int) ((bytes_downloaded * 100l) / bytes_total); runOnUiThread(new Runnable() { @Override public void run() { prog.setTitle(downloading_file_0); prog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); prog.setProgress(dl_progress); prog.setMax(100); prog.show(); if (dl_progress == prog.getMax()) { Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { try { FileUtil.copyFile("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/xManager Update.apk", "/storage/emulated/0/xManager/Update/xManager Update.apk"); prog.dismiss(); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Copying failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } _RequiredDialog(Success_Download, false); Success_Download.setTitle(download_success_0); Success_Download.setPositiveButton(install_update_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy(builder.build()); if(android.os.Build.VERSION.SDK_INT >= 29){ try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setDataAndType(FileProvider.getUriForFile(MainActivity.this, "com.xc3fff0e.xmanager.provider", new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/xManager Update.apk")), "application/vnd.android.package-archive"); startActivity(intent); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } else { try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/xManager Update.apk")), "application/vnd.android.package-archive"); startActivity(intent); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } } }); Success_Download.setNegativeButton(directory_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); _RequiredDialog(Directory, false); Directory.setTitle(file_directory_0); Directory.setMessage(""); Directory.setPositiveButton(go_back_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Directory, true); _RequiredDialog(Success_Download, false); Success_Download.create().show(); } }); Directory.create().show(); } }); Success_Download.setNeutralButton(later_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Success_Download, true); prog.cancel(); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); prog.cancel(); Success_Download.create().dismiss(); StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy(builder.build()); if(android.os.Build.VERSION.SDK_INT >= 29){ try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setDataAndType(FileProvider.getUriForFile(MainActivity.this, "com.xc3fff0e.xmanager.provider", new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/xManager Update.apk")), "application/vnd.android.package-archive"); startActivity(intent); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } else { try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/Update/xManager Update.apk")), "application/vnd.android.package-archive"); startActivity(intent); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } catch(Exception e) { SketchwareUtil.CustomToast(getApplicationContext(), "Null 404: Installation failed", 0xFF000000, 14, 0xFFE0E0E0, 30, SketchwareUtil.BOTTOM); } } } }); } }; _timer.schedule(Timer, (int)(1500)); } } }); } cursor.close(); } } } }).start(); } else { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "No Internet Connection", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("", new View.OnClickListener(){ @Override public void onClick(View _view) { } }).show(); } } catch(Exception e) { } } private void _Url_Mode () { if (COPY_URL_MODE.getString("COPY_URL_MODE", "").equals("URL_ON")) { copy_url_mode_switch.setChecked(true); title_header.setText("xManager (UM)"); } else { if (COPY_URL_MODE.getString("COPY_URL_MODE", "").equals("URL_OFF")) { copy_url_mode_switch.setChecked(false); title_header.setText("xManager"); } } } private void _Switches () { if (copy_url_mode_switch.isChecked()) { COPY_URL_MODE.edit().putString("COPY_URL_MODE", "URL_ON").commit(); } else { COPY_URL_MODE.edit().putString("COPY_URL_MODE", "URL_OFF").commit(); } if (force_auto_install_switch.isChecked()) { FORCE_INSTALL.edit().putString("FORCE_INSTALL", "X").commit(); FORCE_INSTALL_UPDATE.edit().putString("FORCE_INSTALL_UPDATE", "XX").commit(); } else { FORCE_INSTALL.edit().putString("FORCE_INSTALL", "Y").commit(); FORCE_INSTALL_UPDATE.edit().putString("FORCE_INSTALL_UPDATE", "YY").commit(); } } private void _Switch_Fixer () { if (FORCE_INSTALL.getString("FORCE_INSTALL", "").equals("X") && FORCE_INSTALL_UPDATE.getString("FORCE_INSTALL_UPDATE", "").equals("XX")) { force_auto_install_switch.setChecked(true); } else { if (FORCE_INSTALL.getString("FORCE_INSTALL", "").equals("Y") && FORCE_INSTALL_UPDATE.getString("FORCE_INSTALL_UPDATE", "").equals("YY")) { force_auto_install_switch.setChecked(false); } } } private void _Switch_Checker () { if (force_auto_install_switch.isChecked()) { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "AUTO-INSTALL ENABLED", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("SETTINGS", new View.OnClickListener(){ @Override public void onClick(View _view) { RippleAnimation.create(box_switch).setDuration((long)700).start(); main_body_optimization.setVisibility(View.GONE); main_scroll_settings.setVisibility(View.VISIBLE); main_scroll_about.setVisibility(View.GONE); main_refresh_layout.setVisibility(View.GONE); box_update.setVisibility(View.GONE); box_switch.setVisibility(View.GONE); apk_path_location.setEnabled(true); title_header.setText("Settings"); _Animation_1(); } }).show(); } if (copy_url_mode_switch.isChecked()) { com.google.android.material.snackbar.Snackbar.make(main_refresh_layout, "URL MODE ENABLED", com.google.android.material.snackbar.Snackbar.LENGTH_LONG).setAction("SETTINGS", new View.OnClickListener(){ @Override public void onClick(View _view) { RippleAnimation.create(box_switch).setDuration((long)700).start(); main_body_optimization.setVisibility(View.GONE); main_scroll_settings.setVisibility(View.VISIBLE); main_scroll_about.setVisibility(View.GONE); main_refresh_layout.setVisibility(View.GONE); box_update.setVisibility(View.GONE); box_switch.setVisibility(View.GONE); apk_path_location.setEnabled(true); title_header.setText("Settings"); _Animation_1(); } }).show(); } } private void _Translations () { title_1.setText(""); title_2.setText(""); sub_text_2.setText(""); sub_text_4.setText(""); sub_text_1.setText(""); sub_text_3.setText(""); version_switch_1.setText(""); version_switch_2.setText(""); changelogs.setText(""); title_sub.setText(""); device_cpu.setText(""); source.setText(""); support.setText(""); donate.setText(""); about.setText(""); list_auto_refresh.setText(""); list_auto_refresh_info.setText(""); force_auto_install.setText(""); force_auto_install_info.setText(""); copy_url_mode.setText(""); copy_file_url_mode_info.setText(""); navigation_bar.setText(""); theme.setText(""); apk_location.setText(""); apk_location_info.setText(""); clear_directory_folders.setText(""); clear_directory_folders_info.setText(""); reset_settings.setText(""); green_theme.setText(""); purple_theme.setText(""); red_theme.setText(""); blue_theme.setText(""); orange_theme.setText(""); yellow_theme.setText(""); gray_theme.setText(""); sub_title.setText(""); developer_manager.setText(""); developer_spotify.setText(""); support_team.setText(""); mod_testers_1.setText(""); mod_testers_2.setText(""); mobilism_team.setText(""); forum_team.setText(""); manager_team.setText(""); contributors_1.setText(""); download_selected.setText(""); download_ready.setText(""); download_ready_desc.setText(""); downloading_file.setText(""); download_success.setText(""); copy_url_desc.setText(""); file_directory.setText(""); new_update.setText(""); download_selected_0 = download_selected.getText().toString(); download_ready_0 = download_ready.getText().toString(); download_ready_desc_0 = download_ready_desc.getText().toString(); downloading_file_0 = downloading_file.getText().toString(); download_success_0 = download_success.getText().toString(); copy_url_desc_0 = copy_url_desc.getText().toString(); file_directory_0 = file_directory.getText().toString(); continue_1.setText(""); cancel.setText(""); download.setText(""); later.setText(""); directory.setText(""); install_now.setText(""); install_update.setText(""); go_back.setText(""); download_update.setText(""); not_now.setText(""); show_support.setText(""); show_support_desc.setText(""); copy_url_0 = copy_url.getText().toString(); download_0 = download.getText().toString(); continue_0 = continue_1.getText().toString(); cancel_0 = cancel.getText().toString(); later_0 = later.getText().toString(); directory_0 = directory.getText().toString(); install_now_0 = install_now.getText().toString(); go_back_0 = go_back.getText().toString(); install_update_0 = install_update.getText().toString(); main_title.setText(""); settings_title.setText(""); about_title.setText(""); } public class List_menu_1Adapter extends BaseAdapter { ArrayList> _data; public List_menu_1Adapter(ArrayList> _arr) { _data = _arr; } @Override public int getCount() { return _data.size(); } @Override public HashMap getItem(int _index) { return _data.get(_index); } @Override public long getItemId(int _index) { return _index; } @Override public View getView(final int _position, View _view, ViewGroup _viewGroup) { LayoutInflater _inflater = (LayoutInflater)getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); View _v = _view; if (_v == null) { _v = _inflater.inflate(R.layout.list_menu_1, null); } final LinearLayout box = (LinearLayout) _v.findViewById(R.id.box); final TextView link = (TextView) _v.findViewById(R.id.link); final ImageView icon = (ImageView) _v.findViewById(R.id.icon); final TextView title = (TextView) _v.findViewById(R.id.title); try { title.setVisibility(View.VISIBLE); link.setVisibility(View.GONE); title.setText(listdata.get((int)(listdata.size() - 1) - _position).get("title").toString().replace("-", ".")); link.setText(listdata.get((int)(listdata.size() - 1) - _position).get("link").toString()); title.setText(title.getText().toString().replace("(Armeabi.v7a)", "(Armeabi-v7a)").replace("(Arm64.v8a)", "(Arm64-v8a)")); title.setText(title.getText().toString().replace("Spotify v", "Spotify ")); title.setText(title.getText().toString().toUpperCase()); title.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); if (_position == 0) { VERSIONS_REGULAR = listdata.get((int)(listdata.size() - 1) - _position).get("title").toString().replace("-", ".").replace("Spotify v", " ").replace("(Armeabi.v7a)", " ").replace("(Arm64.v8a)", " "); } box.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { if (COPY_URL_MODE.getString("COPY_URL_MODE", "").equals("URL_ON")) { _RequiredDialog(Selected_Spotify, false); Selected_Spotify.setTitle(title.getText().toString().toUpperCase().replace("SPOTIFY V", "SPOTIFY ")); Selected_Spotify.setMessage(copy_url_desc_0); Selected_Spotify.setPositiveButton(copy_url_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { try { _RequiredDialog(Selected_Spotify, true); ((ClipboardManager) getSystemService(getApplicationContext().CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("clipboard", link.getText().toString())); } catch(Exception e) { } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Selected_Spotify.setNeutralButton(cancel_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Selected_Spotify, true); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Selected_Spotify.create().show(); FileUtil.makeDir("/storage/emulated/0/xManager"); FileUtil.makeDir("/storage/emulated/0/xManager/Update"); DELETE = 1; } else { if (COPY_URL_MODE.getString("COPY_URL_MODE", "").equals("URL_OFF")) { _RequiredDialog(Selected_Spotify, false); Selected_Spotify.setTitle(title.getText().toString().toUpperCase().replace("SPOTIFY V", "SPOTIFY ")); Selected_Spotify.setMessage(download_selected_0); Selected_Spotify.setPositiveButton(continue_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Selected_Spotify, true); _RequiredDialog(Download_Spotify, false); Download_Spotify.setTitle(download_ready_0); Download_Spotify.setMessage(download_ready_desc_0); Download_Spotify.setPositiveButton(download_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { try { _RequiredDialog(Download_Spotify, true); if (FORCE_INSTALL.getString("FORCE_INSTALL", "").equals("X")) { _Download_Install(link.getText().toString(), "/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/"); } else { if (FORCE_INSTALL.getString("FORCE_INSTALL", "").equals("Y")) { _Download(link.getText().toString(), "/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/"); } } _File_Remover(); } catch(Exception e) { } } }); Download_Spotify.setNeutralButton(cancel_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Download_Spotify, true); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Download_Spotify.create().show(); } }); Selected_Spotify.setNeutralButton(cancel_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Selected_Spotify, true); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Selected_Spotify.create().show(); FileUtil.makeDir("/storage/emulated/0/xManager"); FileUtil.makeDir("/storage/emulated/0/xManager/Update"); DELETE = 1; } } } }); Animation animation; animation = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); animation.setDuration(200); box.startAnimation(animation); animation = null; } catch(Exception e) { } return _v; } } public class List_menu_2Adapter extends BaseAdapter { ArrayList> _data; public List_menu_2Adapter(ArrayList> _arr) { _data = _arr; } @Override public int getCount() { return _data.size(); } @Override public HashMap getItem(int _index) { return _data.get(_index); } @Override public long getItemId(int _index) { return _index; } @Override public View getView(final int _position, View _view, ViewGroup _viewGroup) { LayoutInflater _inflater = (LayoutInflater)getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); View _v = _view; if (_v == null) { _v = _inflater.inflate(R.layout.list_menu_2, null); } final LinearLayout box = (LinearLayout) _v.findViewById(R.id.box); final TextView link = (TextView) _v.findViewById(R.id.link); final ImageView icon = (ImageView) _v.findViewById(R.id.icon); final TextView title = (TextView) _v.findViewById(R.id.title); try { title.setVisibility(View.VISIBLE); link.setVisibility(View.GONE); title.setText(listdata.get((int)(listdata.size() - 1) - _position).get("title").toString().replace("-", ".")); link.setText(listdata.get((int)(listdata.size() - 1) - _position).get("link").toString()); title.setText(title.getText().toString().replace("(Armeabi.v7a)", "(Armeabi-v7a)").replace("(Arm64.v8a)", "(Arm64-v8a)")); title.setText(title.getText().toString().replace("Spotify v", "Spotify ")); title.setText(title.getText().toString().toUpperCase()); title.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/base_font.ttf"), 1); if (_position == 0) { VERSIONS_AMOLED = listdata.get((int)(listdata.size() - 1) - _position).get("title").toString().replace("-", ".").replace("Spotify v", " ").replace("(Armeabi.v7a)", " ").replace("(Arm64.v8a)", " "); } box.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View _view) { if (COPY_URL_MODE.getString("COPY_URL_MODE", "").equals("URL_ON")) { _RequiredDialog(Selected_Spotify, false); Selected_Spotify.setTitle(title.getText().toString().toUpperCase().replace("SPOTIFY V", "SPOTIFY ")); Selected_Spotify.setMessage(copy_url_desc_0); Selected_Spotify.setPositiveButton(copy_url_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { try { _RequiredDialog(Selected_Spotify, true); ((ClipboardManager) getSystemService(getApplicationContext().CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("clipboard", link.getText().toString())); } catch(Exception e) { } Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Selected_Spotify.setNeutralButton(cancel_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Selected_Spotify, true); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Selected_Spotify.create().show(); FileUtil.makeDir("/storage/emulated/0/xManager"); FileUtil.makeDir("/storage/emulated/0/xManager/Update"); DELETE = 1; } else { if (COPY_URL_MODE.getString("COPY_URL_MODE", "").equals("URL_OFF")) { _RequiredDialog(Selected_Spotify, false); Selected_Spotify.setTitle(title.getText().toString().toUpperCase().replace("SPOTIFY V", "SPOTIFY ")); Selected_Spotify.setMessage(download_selected_0); Selected_Spotify.setPositiveButton(continue_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Selected_Spotify, true); _RequiredDialog(Download_Spotify, false); Download_Spotify.setTitle(download_ready_0); Download_Spotify.setMessage(download_ready_desc_0); Download_Spotify.setPositiveButton(download_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { try { _RequiredDialog(Download_Spotify, true); if (FORCE_INSTALL.getString("FORCE_INSTALL", "").equals("X")) { _Download_Install(link.getText().toString(), "/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/"); } else { if (FORCE_INSTALL.getString("FORCE_INSTALL", "").equals("Y")) { _Download(link.getText().toString(), "/storage/emulated/0/Android/data/com.xc3fff0e.xmanager/files/Download/"); } } _File_Remover(); } catch(Exception e) { } } }); Download_Spotify.setNeutralButton(cancel_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Download_Spotify, true); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Download_Spotify.create().show(); } }); Selected_Spotify.setNeutralButton(cancel_0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface _dialog, int _which) { _RequiredDialog(Selected_Spotify, true); Timer = new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { _Hide_Navigation(); } }); } }; _timer.schedule(Timer, (int)(100)); } }); Selected_Spotify.create().show(); FileUtil.makeDir("/storage/emulated/0/xManager"); FileUtil.makeDir("/storage/emulated/0/xManager/Update"); DELETE = 1; } } } }); Animation animation; animation = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.slide_in_left); animation.setDuration(200); box.startAnimation(animation); animation = null; } catch(Exception e) { } return _v; } } @Deprecated public void showMessage(String _s) { Toast.makeText(getApplicationContext(), _s, Toast.LENGTH_SHORT).show(); } @Deprecated public int getLocationX(View _v) { int _location[] = new int[2]; _v.getLocationInWindow(_location); return _location[0]; } @Deprecated public int getLocationY(View _v) { int _location[] = new int[2]; _v.getLocationInWindow(_location); return _location[1]; } @Deprecated public int getRandom(int _min, int _max) { Random random = new Random(); return random.nextInt(_max - _min + 1) + _min; } @Deprecated public ArrayList getCheckedItemPositionsToArray(ListView _list) { ArrayList _result = new ArrayList(); SparseBooleanArray _arr = _list.getCheckedItemPositions(); for (int _iIdx = 0; _iIdx < _arr.size(); _iIdx++) { if (_arr.valueAt(_iIdx)) _result.add((double)_arr.keyAt(_iIdx)); } return _result; } @Deprecated public float getDip(int _input){ return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, _input, getResources().getDisplayMetrics()); } @Deprecated public int getDisplayWidthPixels(){ return getResources().getDisplayMetrics().widthPixels; } @Deprecated public int getDisplayHeightPixels(){ return getResources().getDisplayMetrics().heightPixels; } }