Rensselaer Center for Open Source Software

Added basic gridView to display schedule

54 files changed, 236 lines added, 15 lines removed

Changes

--- Chronicle_Android/Chronicle/AndroidManifest.xml 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/AndroidManifest.xml 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -3,14 +3,23 @@
-    <uses-sdk android:minSdkVersion="7" />
+      android:configChanges="keyboardHidden|orientation"
+      android:screenOrientation="landscape"> 
+      
+    <uses-sdk android:minSdkVersion="8" />
+
+
+
+
-                <!--  android:screenOrientation="landscape">   -->
+           android:screenOrientation="landscape"> 
+           android:configChanges="keyboardHidden|orientation"
+           
--- Chronicle_Android/Chronicle/bin/Chronicle.apk 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/Chronicle.apk 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,15 +1,26 @@
+
+
+
@@ -47,7 +58,77 @@
+
+o
+!;=
+
+
+u
@@ -63,7 +144,7 @@
@@ -78,60 +159,80 @@
+
--- Chronicle_Android/Chronicle/bin/chronicle/client/CalendarAdapter.class 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/chronicle/client/CalendarAdapter.class 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,0 +1,19 @@
--- Chronicle_Android/Chronicle/bin/chronicle/client/CameraPreview.class 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/chronicle/client/CameraPreview.class 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -16,14 +16,14 @@
--- Chronicle_Android/Chronicle/bin/chronicle/client/ChronicleActivity$1$1.class 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/chronicle/client/ChronicleActivity$1$1.class 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,0 +1,23 @@
--- Chronicle_Android/Chronicle/bin/chronicle/client/ChronicleActivity$1.class 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/chronicle/client/ChronicleActivity$1.class 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,22 +1,24 @@
--- Chronicle_Android/Chronicle/bin/chronicle/client/ChronicleActivity.class 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/chronicle/client/ChronicleActivity.class 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,76 +1,75 @@
+
-
--- Chronicle_Android/Chronicle/bin/chronicle/client/R$color.class 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/chronicle/client/R$color.class 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,0 +1,9 @@
--- Chronicle_Android/Chronicle/bin/chronicle/client/R$drawable.class 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/chronicle/client/R$drawable.class 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,9 +1,7 @@
--- Chronicle_Android/Chronicle/bin/chronicle/client/R$id.class 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/chronicle/client/R$id.class 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,8 +1,7 @@
--- Chronicle_Android/Chronicle/bin/chronicle/client/R$layout.class 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/chronicle/client/R$layout.class 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,8 +1,9 @@
--- Chronicle_Android/Chronicle/bin/chronicle/client/R$string.class 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/chronicle/client/R$string.class 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,7 +1,8 @@
--- Chronicle_Android/Chronicle/bin/chronicle/client/R.class 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/chronicle/client/R.class 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,6 +1,6 @@
--- Chronicle_Android/Chronicle/bin/classes.dex 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/classes.dex 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,69 +1,66 @@
--- Chronicle_Android/Chronicle/bin/resources.ap_ 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/bin/resources.ap_ 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,13 +1,23 @@
+
+
+
@@ -44,7 +54,75 @@
+
+o
+!;=
+
+
+u
@@ -59,7 +137,7 @@
@@ -74,5 +152,5 @@
--- Chronicle_Android/Chronicle/gen/chronicle/client/R.java 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/gen/chronicle/client/R.java 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -10,17 +10,31 @@
+    public static final class color {
+        public static final int text_color=0x7f050000;
+        public static final int white=0x7f050001;
+    }
-        public static final int icon=0x7f020000;
+        public static final int header_background=0x7f020000;
+        public static final int icon=0x7f020001;
+        public static final int item_background=0x7f020002;
+        public static final int item_background_focused=0x7f020003;
+        public static final int list_item_background=0x7f020004;
-        public static final int camera_preview=0x7f050000;
+        public static final int camera_preview=0x7f060003;
+        public static final int date=0x7f060001;
+        public static final int date_icon=0x7f060002;
+        public static final int gridview=0x7f060000;
-        public static final int main=0x7f030000;
+        public static final int calendar=0x7f030000;
+        public static final int calendar_item=0x7f030001;
+        public static final int main=0x7f030002;
+        public static final int open=0x7f040002;
--- Chronicle_Android/Chronicle/res/drawable-hdpi/header_background.png 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/res/drawable-hdpi/header_background.png 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,0 +1,7 @@
+
--- Chronicle_Android/Chronicle/res/drawable-hdpi/item_background.png 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/res/drawable-hdpi/item_background.png 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,0 +1,31 @@
+
+o
+!;=
--- Chronicle_Android/Chronicle/res/drawable-hdpi/item_background_focused.png 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/res/drawable-hdpi/item_background_focused.png 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,0 +1,29 @@
+
--- Chronicle_Android/Chronicle/res/drawable-hdpi/list_item_background.xml 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/res/drawable-hdpi/list_item_background.xml 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:drawable="@drawable/item_background_focused"
+          android:state_pressed="true" />
+    <item 
+        android:drawable="@drawable/item_background_focused"
+          android:state_focused="true" />
+    <item  
+         android:drawable="@drawable/item_background" />
+</selector>
--- Chronicle_Android/Chronicle/res/layout/calendar.xml 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/res/layout/calendar.xml 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
+    android:id="@+id/gridview"
+    android:layout_width="fill_parent" 
+    android:layout_height="fill_parent"
+    android:verticalSpacing="10dp"
+    android:horizontalSpacing="10dp"
+    android:stretchMode="columnWidth"
+    android:gravity="center"
+    android:numColumns="7"
+/>
--- Chronicle_Android/Chronicle/res/layout/calendar_item.xml 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/res/layout/calendar_item.xml 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,0 +1,26 @@
+<?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="60px"
+    android:padding="8dp"
+    android:orientation="vertical"
+    
+    android:background="@drawable/list_item_background"    
+    >
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+      android:id="@+id/date"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+
+        android:textSize="14sp"
+        android:textStyle="bold"
+        android:textColor="#f00"
+        >
+</TextView>
+<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/date_icon"
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+    android:src="@drawable/icon" 
+    android:visibility="invisible"/>
+</LinearLayout>
--- Chronicle_Android/Chronicle/res/layout/main.xml 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/res/layout/main.xml 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -6,11 +6,11 @@
-    android:orientation="horizontal"
-    
+    android:orientation="vertical"
-    />
+    >
+  </FrameLayout>
--- Chronicle_Android/Chronicle/res/values/strings.xml 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/res/values/strings.xml 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -2,4 +2,8 @@
+    
+    <color name="text_color">#31D1F1</color>
+  <color name="white">#ffffff</color>
+  <string name="open">Open</string>
--- Chronicle_Android/Chronicle/src/chronicle/client/CalendarAdapter.java 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/src/chronicle/client/CalendarAdapter.java 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,0 +1,58 @@
+package chronicle.client;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.GridView;
+import android.widget.ImageView;
+
+public class CalendarAdapter extends BaseAdapter {
+    private Context mContext;
+
+    public CalendarAdapter(Context c) {
+        mContext = c;
+    }
+
+    public int getCount() {
+        return mThumbIds.length;
+    }
+
+    public Object getItem(int position) {
+        return null;
+    }
+
+    public long getItemId(int position) {
+        return 0;
+    }
+
+    // create a new ImageView for each item referenced by the Adapter
+    public View getView(int position, View convertView, ViewGroup parent) {
+        ImageView imageView;
+        if (convertView == null) {  // if it's not recycled, initialize some attributes
+            imageView = new ImageView(mContext);
+            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
+            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
+            imageView.setPadding(8, 8, 8, 8);
+        } else {
+            imageView = (ImageView) convertView;
+        }
+
+        imageView.setImageResource(mThumbIds[position]);
+        return imageView;
+    }
+
+    // references to our images
+    private Integer[] mThumbIds = {
+        R.drawable.icon, R.drawable.icon,
+        R.drawable.icon, R.drawable.icon,
+        R.drawable.icon, R.drawable.icon,
+        R.drawable.icon, R.drawable.icon,
+        R.drawable.icon, R.drawable.icon,
+        R.drawable.icon, R.drawable.icon,
+        R.drawable.icon, R.drawable.icon,
+        R.drawable.icon, R.drawable.icon,
+        R.drawable.icon, R.drawable.icon,
+        R.drawable.icon, R.drawable.icon
+    };
+}
--- Chronicle_Android/Chronicle/src/chronicle/client/CameraPreview.java 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/src/chronicle/client/CameraPreview.java 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -1,10 +1,7 @@
-import android.content.pm.ActivityInfo;
-import android.media.MediaRecorder;
-import android.util.AttributeSet;
--- Chronicle_Android/Chronicle/src/chronicle/client/ChronicleActivity.java 2944efc282e16e2d5f76f3a49041e564ed0ce5ce
+++ Chronicle_Android/Chronicle/src/chronicle/client/ChronicleActivity.java 074801eabde194b5446d9a497aa3bbf6c0ded37e
@@ -12,6 +12,7 @@
+import android.content.res.Configuration;
@@ -30,7 +31,10 @@
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemClickListener;
+import android.widget.GridView;
@@ -40,12 +44,73 @@
-
+  @Override
+  public void onConfigurationChanged(Configuration newConfig) {
+    super.onConfigurationChanged(newConfig);
+    //setContentView(R.layout.main);
+  }
+    recording = false;
+    if(!checkCameraHardware(this)) {
+      Toast.makeText(getApplicationContext(), "No Camera", Toast.LENGTH_LONG).show();
+      finish();
+    }
-    recording = false;
-    setContentView(R.layout.main); 
+    setContentView(R.layout.calendar); 
+
+      GridView gridview = (GridView) findViewById(R.id.gridview);
+      gridview.setAdapter(new CalendarAdapter(this));
+
+      gridview.setOnItemClickListener(new OnItemClickListener() {
+          public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
+              Toast.makeText(getApplicationContext(), "" + position, Toast.LENGTH_SHORT).show();
+          setContentView(R.layout.main); 
+
+           mCamera = getCameraInstance();
+             mPreview = new CameraPreview(getApplicationContext(), mCamera);
+             FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
+             preview.addView(mPreview);
+             preview.setOnTouchListener(
+                    new View.OnTouchListener() {
+                      @Override
+                      public boolean onTouch(View v, MotionEvent event) {
+                        mCamera.stopPreview();
+                        if (recording) {
+                                  // stop recording and release camera
+                                  mMediaRecorder.stop();  // stop the recording
+                                  releaseMediaRecorder(); // release the MediaRecorder object
+                                  mCamera.lock();         // take camera access back from MediaRecorder
+                              Toast.makeText(getApplicationContext(), "STOPPED RECORDING", Toast.LENGTH_SHORT).show();
+                                  // inform the user that recording has stopped
+                                  recording = false;
+                              } 
+                        else {
+                                  // initialize video camera
+                                  if (prepareVideoRecorder()) {
+                              Log.d("PREPARE", "SUCCESS");
+                              Toast.makeText(getApplicationContext(), "RECORDING", Toast.LENGTH_SHORT).show();
+                                      mMediaRecorder.start();
+                                      recording = true;
+                                  } 
+                                  else {
+                              Log.d("PREPARE", "FAILED");
+                              Toast.makeText(getApplicationContext(), "PREPARE FAILED", Toast.LENGTH_SHORT).show();
+                                      // prepare didn't work, release the camera
+                                      releaseMediaRecorder();
+                                  }
+                              }
+                        return false;
+                        
+                      }
+                    }
+                );  
+             //preview.addView(mPreview);
+          Toast.makeText(getApplicationContext(), "BLAST PAST", Toast.LENGTH_LONG).show();
+          
+          }
+      });
+/*
@@ -91,6 +156,8 @@
+    */
+      
Chronicle • 64 weeks ago