Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Generally make the Android UI better.
  • Loading branch information
Sonicadvance1 committed Apr 23, 2013
1 parent 453fdff commit bd72e13
Show file tree
Hide file tree
Showing 17 changed files with 705 additions and 161 deletions.
8 changes: 7 additions & 1 deletion Source/Android/AndroidManifest.xml
Expand Up @@ -26,7 +26,13 @@
</intent-filter>
</activity>
<activity
android:name=".NativeListView"
android:name="org.dolphinemu.dolphinemu.GameListView"
android:label="@string/app_name"
android:theme="@android:style/Theme"
android:configChanges="orientation|locale|keyboard|keyboardHidden|navigation|fontScale|uiMode" >
</activity>
<activity
android:name="org.dolphinemu.dolphinemu.FolderBrowser"
android:label="@string/app_name"
android:theme="@android:style/Theme"
android:configChanges="orientation|locale|keyboard|keyboardHidden|navigation|fontScale|uiMode" >
Expand Down
Binary file removed Source/Android/assets/Dolphin.png
Binary file not shown.
1 change: 1 addition & 0 deletions Source/Android/project.properties
Expand Up @@ -12,3 +12,4 @@

# Project target.
target=android-17
android.library.reference.1=../../Externals/android-menudrawer/library
44 changes: 44 additions & 0 deletions Source/Android/res/layout/folderbrowser.xml
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</LinearLayout>

<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginTop="5dip"
android:singleLine="true"
android:text="@+id/TextView01"
android:textStyle="bold" />

<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:text="@+id/TextView02" />

</LinearLayout>

</LinearLayout>



</LinearLayout>
7 changes: 7 additions & 0 deletions Source/Android/res/layout/folderbrowserfooter.xml
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

</LinearLayout>
54 changes: 35 additions & 19 deletions Source/Android/res/layout/main.xml
@@ -1,26 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginTop="5dip"
android:singleLine="true"
android:text="@+id/TextView01"
android:textStyle="bold" >
</TextView>

<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:text="@+id/TextView02" >
</TextView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<ImageView
android:id="@+id/imageView1"
android:layout_width="96dp"
android:layout_height="match_parent" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginTop="5dip"
android:singleLine="true"
android:text="@+id/TextView01"
android:textStyle="bold" />

<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:text="@+id/TextView02" />

</LinearLayout>

</LinearLayout>

</LinearLayout>
31 changes: 31 additions & 0 deletions Source/Android/res/layout/sidemenu.xml
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="left"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginTop="5dip"
android:singleLine="true"
android:text="@+id/TextView01"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold" />

</LinearLayout>
</LinearLayout>

</LinearLayout>
16 changes: 14 additions & 2 deletions Source/Android/src/org/dolphinemu/dolphinemu/DolphinEmulator.java
Expand Up @@ -6,6 +6,8 @@
import java.io.InputStream;
import java.io.OutputStream;

import net.simonvt.menudrawer.MenuDrawer;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
Expand Down Expand Up @@ -88,7 +90,8 @@ public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null)
{
Intent ListIntent = new Intent(this, NativeListView.class);

Intent ListIntent = new Intent(this, GameListView.class);
startActivityForResult(ListIntent, 1);

// Make the assets directory
Expand Down Expand Up @@ -120,13 +123,22 @@ public void onCreate(Bundle savedInstanceState) {
CopyAsset("Dolphin.png",
Environment.getExternalStorageDirectory()+File.separator+
"dolphin-emu" + File.separator + "Dolphin.png");
CopyAsset("Back.png",
Environment.getExternalStorageDirectory()+File.separator+
"dolphin-emu" + File.separator + "Back.png");
CopyAsset("Folder.png",
Environment.getExternalStorageDirectory()+File.separator+
"dolphin-emu" + File.separator + "Folder.png");
CopyAsset("Background.glsl",
Environment.getExternalStorageDirectory()+File.separator+
"dolphin-emu" + File.separator + "Background.glsl");
CopyAsset("GCPadNew.ini",
Environment.getExternalStorageDirectory()+File.separator+
"dolphin-emu" + File.separator +"Config"+ File.separator +"GCPadNew.ini");
}
}
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
Expand Down
98 changes: 98 additions & 0 deletions Source/Android/src/org/dolphinemu/dolphinemu/FolderBrowser.java
@@ -0,0 +1,98 @@
package org.dolphinemu.dolphinemu;

import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import net.simonvt.menudrawer.MenuDrawer;

import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class FolderBrowser extends ListActivity {
private GameListAdapter adapter;
private static File currentDir = null;
private void Fill(File f)
{
File[]dirs = f.listFiles();
this.setTitle("Current Dir: " + f.getName());
List<GameListItem>dir = new ArrayList<GameListItem>();
List<GameListItem>fls = new ArrayList<GameListItem>();

try
{
for(File ff: dirs)
{
if (ff.getName().charAt(0) != '.')
if(ff.isDirectory())
dir.add(new GameListItem(getApplicationContext(), ff.getName(),"Folder",ff.getAbsolutePath()));
else
if (ff.getName().toLowerCase().contains(".gcm") ||
ff.getName().toLowerCase().contains(".iso") ||
ff.getName().toLowerCase().contains(".wbfs") ||
ff.getName().toLowerCase().contains(".gcz") ||
ff.getName().toLowerCase().contains(".dol") ||
ff.getName().toLowerCase().contains(".elf"))
fls.add(new GameListItem(getApplicationContext(), ff.getName(),"File Size: "+ff.length(),ff.getAbsolutePath()));
}
}
catch(Exception e)
{
}

Collections.sort(dir);
Collections.sort(fls);
dir.addAll(fls);
if (!f.getName().equalsIgnoreCase("sdcard"))
dir.add(0, new GameListItem(getApplicationContext(), "..", "Parent Directory", f.getParent()));

adapter = new GameListAdapter(this,R.layout.folderbrowser,dir);
this.setListAdapter(adapter);
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
GameListItem o = adapter.getItem(position);
if(o.getData().equalsIgnoreCase("folder")||o.getData().equalsIgnoreCase("parent directory")){
currentDir = new File(o.getPath());
Fill(currentDir);
}
}

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

if(currentDir == null)
currentDir = new File(Environment.getExternalStorageDirectory().getPath());
Fill(currentDir);
}
@Override
public void onBackPressed() {
Intent intent = new Intent();
intent.putExtra("Select", currentDir.getPath());
setResult(Activity.RESULT_OK, intent);

this.finish();
super.onBackPressed();
}
}
Expand Up @@ -7,22 +7,23 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class FileArrayAdapter extends ArrayAdapter<Option>{
public class GameListAdapter extends ArrayAdapter<GameListItem>{

private Context c;
private int id;
private List<Option>items;
private List<GameListItem>items;

public FileArrayAdapter(Context context, int textViewResourceId,
List<Option> objects) {
public GameListAdapter(Context context, int textViewResourceId,
List<GameListItem> objects) {
super(context, textViewResourceId, objects);
c = context;
id = textViewResourceId;
items = objects;
}
public Option getItem(int i)
public GameListItem getItem(int i)
{
return items.get(i);
}
Expand All @@ -33,15 +34,18 @@ public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater vi = (LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(id, null);
}
final Option o = items.get(position);
final GameListItem o = items.get(position);
if (o != null) {
TextView t1 = (TextView) v.findViewById(R.id.TextView01);
TextView t2 = (TextView) v.findViewById(R.id.TextView02);
ImageView v1 = (ImageView) v.findViewById(R.id.imageView1);

if(t1!=null)
t1.setText(o.getName());
if(t2!=null)
t2.setText(o.getData());
if(v1!=null)
v1.setImageBitmap(o.getImage());

}
return v;
Expand Down

0 comments on commit bd72e13

Please sign in to comment.