diff --git a/app/src/main/java/com/vectras/vm/CustomRomActivity.java b/app/src/main/java/com/vectras/vm/CustomRomActivity.java index a854e70..de00dd7 100644 --- a/app/src/main/java/com/vectras/vm/CustomRomActivity.java +++ b/app/src/main/java/com/vectras/vm/CustomRomActivity.java @@ -508,6 +508,22 @@ public class CustomRomActivity extends AppCompatActivity { drive.setText(AppConfig.vmFolder + vmID + "/" + getIntent().getStringExtra("romfilename")); } } + + } else if (getIntent().hasExtra("importcvbinow")) { + title.setText("New VM"); + setDefault(); + + Intent intent = new Intent(ACTION_OPEN_DOCUMENT); + intent.addCategory(Intent.CATEGORY_OPENABLE); + intent.setType("*/*"); + + // Optionally, specify a URI for the file that should appear in the + // system file picker when it loads. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, Environment.DIRECTORY_DOWNLOADS); + } + + startActivityForResult(intent, 0); } else { title.setText("New VM"); setDefault(); @@ -908,6 +924,7 @@ public class CustomRomActivity extends AppCompatActivity { if (getIntent().hasExtra("addromnow")) { RomsManagerActivity.isFinishNow = true; + RomInfo.isFinishNow = true; } modify = false; diff --git a/app/src/main/java/com/vectras/vm/RomInfo.java b/app/src/main/java/com/vectras/vm/RomInfo.java index 6c7d45f..33baf5f 100644 --- a/app/src/main/java/com/vectras/vm/RomInfo.java +++ b/app/src/main/java/com/vectras/vm/RomInfo.java @@ -16,6 +16,7 @@ import android.widget.TextView; import androidx.activity.EdgeToEdge; import androidx.annotation.RequiresApi; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; @@ -29,6 +30,8 @@ import java.util.Objects; public class RomInfo extends AppCompatActivity { + public static boolean isFinishNow = false; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -69,7 +72,7 @@ public class RomInfo extends AppCompatActivity { intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("*/*"); intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, Environment.DIRECTORY_DOWNLOADS); - startActivity(intent); + startActivityForResult(intent, 0); } }); @@ -86,6 +89,15 @@ public class RomInfo extends AppCompatActivity { if (getIntent().hasExtra("icon")) { Glide.with(this).load(getIntent().getStringExtra("icon")).into(ivIcon); } + + btn_pick.setText(getString(R.string.select) + " " + getIntent().getStringExtra("filename")); + } + + public void onResume() { + super.onResume(); + if (isFinishNow) + finish(); + isFinishNow = false; } @Override @@ -109,7 +121,7 @@ public class RomInfo extends AppCompatActivity { intent.putExtra("addtodrive", "1"); intent.putExtra("romextra", getIntent().getStringExtra("extra")); } - intent.putExtra("romicon", AppConfig.maindirpath + "icons/" + getIntent().getStringExtra("title") + ".png"); + intent.putExtra("romicon", AppConfig.maindirpath + "icons/" + getIntent().getStringExtra("filename") + ".png"); switch (Objects.requireNonNull(getIntent().getStringExtra("arch"))) { case "X86_64": MainSettingsManager.setArch(this, "X86_64"); diff --git a/app/src/main/java/com/vectras/vm/SetArchActivity.java b/app/src/main/java/com/vectras/vm/SetArchActivity.java index f3bb85f..7cfa0d8 100644 --- a/app/src/main/java/com/vectras/vm/SetArchActivity.java +++ b/app/src/main/java/com/vectras/vm/SetArchActivity.java @@ -11,6 +11,7 @@ import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; +import androidx.cardview.widget.CardView; import com.vectras.qemu.MainSettingsManager; @@ -30,12 +31,14 @@ public class SetArchActivity extends AppCompatActivity implements View.OnClickLi Button archppc = findViewById(R.id.archppc); Button web = findViewById(R.id.webBtn); Button buttongetcm = findViewById(R.id.buttongetcm); + CardView cdCustom = findViewById(R.id.cdCustom); archi386.setOnClickListener(this); archx86_64.setOnClickListener(this); archarm64.setOnClickListener(this); archppc.setOnClickListener(this); web.setOnClickListener(this); buttongetcm.setOnClickListener(this); + cdCustom.setOnClickListener(this); } public void onClick(View v) { @@ -70,6 +73,12 @@ public class SetArchActivity extends AppCompatActivity implements View.OnClickLi intent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse("android-app://com.anbui.cqcm.app")); startActivity(intent); + } else if (id == R.id.cdCustom) { + Intent intent = new Intent(); + intent.setClass(getApplicationContext(), CustomRomActivity.class); + intent.putExtra("importcvbinow", ""); + startActivity(intent); + finish(); } } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_rom_info.xml b/app/src/main/res/layout/activity_rom_info.xml index 5bbe9a4..7c2cd2b 100644 --- a/app/src/main/res/layout/activity_rom_info.xml +++ b/app/src/main/res/layout/activity_rom_info.xml @@ -18,124 +18,84 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" - android:orientation="vertical"> - - + - - + + style="@style/CardViewStyle" + app:cardCornerRadius="10dp" + app:cardUseCompatPadding="true"> + + + - + + - - - - - - - - - - - -