Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions app/src/main/java/org/efidroid/efidroidmanager/AppConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import org.efidroid.efidroidmanager.types.SystemPropertiesProxy;

public final class AppConstants {
private static final String URL_EFIDROID_SERVER = "https://raw.githubusercontent.com/efidroid";
private static final String URL_EFIDROID_SERVER = "https://raw.githubusercontent.com/abraha2d";

public static final String DEVICE_NAME = Build.MANUFACTURER.toLowerCase() + "/" + Build.DEVICE.toLowerCase();
public static final String SHAREDPREFS_GLOBAL = "org.efidroid.efidroidmanager";
Expand All @@ -19,13 +19,25 @@ public final class AppConstants {
public static final String PATH_INTERNAL_FSTAB = "fstab.multiboot";

private static String getUrlServer(Context context) {
String url = SystemPropertiesProxy.get(context, "efidroid.server_url", "");
String url = getUrlServerConfig(context);
if (TextUtils.isEmpty(url))
url = URL_EFIDROID_SERVER;

return url;
}

public static String getUrlServerConfig(Context context) {
String url = SystemPropertiesProxy.get(context, "efidroid.server_url", "");
if (TextUtils.isEmpty(url))
url = SystemPropertiesProxy.get(context, "persist.efidroid.server_url", "");

return url;
}

public static void setUrlServerConfig(Context context, String serverUrl) {
SystemPropertiesProxy.set(context, "persist.efidroid.server_url", serverUrl);
}

public static String getUrlOta(Context context) {
return getUrlServer(context) + "/ota/master";
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import com.afollestad.materialdialogs.MaterialDialog;
import com.melnykov.fab.FloatingActionButton;

import org.efidroid.efidroidmanager.AppConstants;
import org.efidroid.efidroidmanager.DataHelper;
import org.efidroid.efidroidmanager.R;
import org.efidroid.efidroidmanager.RootToolsEx;
Expand All @@ -49,21 +50,20 @@ public class MainActivity extends AppCompatActivity
OperatingSystemFragment.OnOperatingSystemFragmentInteractionListener,
DataHelper.DeviceInfoLoadCallback, InstallFragment.OnInstallFragmentInteractionListener {

// args
private static final String ARG_DEVICE_INFO = "deviceinfo";
private static final String ARG_ACTIVEMENU_ID = "activemenu_id";
private static final String ARG_HAS_ROOT = "has_root";
private static final String ARG_OPERATING_SYSTEMS = "operating_systems";
private static final String ARG_INSTALL_STATUS = "install_status";
// status
private boolean hasRoot = false;
private boolean mTouchDisabled = false;
private int mActiveMenuItemId = 0;
private MenuItem mPreviousMenuItem;
private AsyncTask<?, ?, ?> mFragmentLoadingTask = null;

// data
private DeviceInfo mDeviceInfo = null;

// args
private static final String ARG_DEVICE_INFO = "deviceinfo";
private static final String ARG_ACTIVEMENU_ID = "activemenu_id";
private static final String ARG_HAS_ROOT = "has_root";

// UI
private NavigationView mNavigationView;
private FloatingActionButton mFab;
Expand All @@ -75,10 +75,10 @@ public class MainActivity extends AppCompatActivity
private CollapsingToolbarLayout mCollapsingToolbarLayout;
private AppBarLayout mAppBarLayout;
private FrameLayout mToolbarFrameLayout;

// operating systems
private ArrayList<OperatingSystem> mOperatingSystems;
private static final String ARG_OPERATING_SYSTEMS = "operating_systems";
// installation
private InstallationStatus mInstallStatus = null;

private AsyncTask<Void, Void, Exception> makeOperatingSystemsTask() {
final ArrayList<OperatingSystem> list = new ArrayList<>();
Expand Down Expand Up @@ -158,10 +158,6 @@ protected void onPostExecute(Exception e) {
};
}

// installation
private InstallationStatus mInstallStatus = null;
private static final String ARG_INSTALL_STATUS = "install_status";

private AsyncTask<Void, Void, Exception> makeInstallationStatusTask(final InstallFragment.InstallStatusLoadCallback callback) {
final InstallationStatus installStatus = new InstallationStatus();

Expand Down Expand Up @@ -286,15 +282,31 @@ public void onDeviceInfoLoadError(Exception e) {
new MaterialDialog.Builder(this)
.title(R.string.error)
.content(getString(R.string.cant_load_device_info_check_connection) + e.getLocalizedMessage())
.positiveText(R.string.try_again)
.positiveText(R.string.try_again).neutralText(R.string.override_ota_server)
.cancelable(false).onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
DataHelper.loadDeviceInfo(MainActivity.this, MainActivity.this);
}
}).onNeutral(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
showOverrideOTAServerDialog();
}
}).show();
}

public void showOverrideOTAServerDialog() {
new MaterialDialog.Builder(MainActivity.this).title(R.string.override_ota_server)
.input(null, AppConstants.getUrlServerConfig(MainActivity.this), new MaterialDialog.InputCallback() {
@Override
public void onInput(@NonNull MaterialDialog dialog, CharSequence input) {
AppConstants.setUrlServerConfig(MainActivity.this, input.toString());
DataHelper.loadDeviceInfo(MainActivity.this, MainActivity.this);
}
}).show();
}

private void onLoadUiData() {
if (!hasRoot && !RootToolsEx.isAccessGiven(0, 0)) {
new MaterialDialog.Builder(this)
Expand Down Expand Up @@ -485,6 +497,10 @@ public void onRefresh() {
} else {
fragment = new InstallFragment();
}
} else if (id == R.id.nav_override_ota) {
mDrawer.closeDrawer(GravityCompat.START);
showOverrideOTAServerDialog();
return true;
}

mActiveMenuItemId = item.getItemId();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,8 +251,12 @@ public static void set(Context context, String key, String val) throws IllegalAr

try {

@SuppressWarnings("unused")
DexFile df = new DexFile(new File("/system/app/Settings.apk"));
try {
@SuppressWarnings("unused")
DexFile df = new DexFile(new File("/system/app/Settings.apk"));
} catch (Exception e) {
e.printStackTrace();
}
@SuppressWarnings("unused")
ClassLoader cl = context.getClassLoader();
@SuppressWarnings("rawtypes")
Expand Down
4 changes: 4 additions & 0 deletions app/src/main/res/menu/activity_main_drawer.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@
android:id="@+id/nav_install"
android:icon="@drawable/ic_menu_settings"
android:title="@string/install_update" />
<item
android:id="@+id/nav_override_ota"
android:icon="@drawable/ic_menu_settings"
android:title="@string/override_ota_server" />
</group>

<group android:id="@+id/nav_group_communicate">
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@
<string name="cant_load_install_info">"Can\'t load installation info. "</string>
<string name="cant_load_device_info_check_connection">Can\'t load device info. Please check your connection.\n\n</string>
<string name="try_again">Try again</string>
<string name="override_ota_server">Override OTA server</string>
<string name="you_need_root">You need Root access to use this app.</string>
<string name="share_text">I\'m running EFIDroid on my %1$s!\nMore info: http://efidroid.org</string>
<string name="os_delete_confirmation">Do you want to delete \'%1$s\'?</string>
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
classpath 'com.android.tools.build:gradle:2.3.3'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#Wed Mar 29 21:16:02 CEST 2017
#Tue Mar 14 18:32:19 EDT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
Expand Down