You are viewing a plain text version of this content. The canonical link for it is here.
Posted to photark-commits@incubator.apache.org by av...@apache.org on 2012/06/19 15:06:26 UTC

svn commit: r1351736 [1/4] - in /incubator/photark/mobile/trunk: assets/www/ assets/www/scripts/ gen/org/apache/photark/mobile/ res/xml/ src/main/java/com/ src/main/java/com/facebook/ src/main/java/com/facebook/android/ src/main/java/org/apache/cordova...

Author: avd
Date: Tue Jun 19 15:06:25 2012
New Revision: 1351736

URL: http://svn.apache.org/viewvc?rev=1351736&view=rev
Log:
PHOTARK-83:Addition of Web album feature Patch from Bhargav Golla

Added:
    incubator/photark/mobile/trunk/assets/www/scripts/cdv-plugin-fb-connect.js
    incubator/photark/mobile/trunk/assets/www/scripts/facebook_js_sdk.js
    incubator/photark/mobile/trunk/gen/org/apache/photark/mobile/
    incubator/photark/mobile/trunk/gen/org/apache/photark/mobile/BuildConfig.java
    incubator/photark/mobile/trunk/gen/org/apache/photark/mobile/R.java
    incubator/photark/mobile/trunk/src/main/java/com/
    incubator/photark/mobile/trunk/src/main/java/com/facebook/
    incubator/photark/mobile/trunk/src/main/java/com/facebook/android/
    incubator/photark/mobile/trunk/src/main/java/com/facebook/android/AsyncFacebookRunner.java
    incubator/photark/mobile/trunk/src/main/java/com/facebook/android/DialogError.java
    incubator/photark/mobile/trunk/src/main/java/com/facebook/android/Facebook.java
    incubator/photark/mobile/trunk/src/main/java/com/facebook/android/FacebookError.java
    incubator/photark/mobile/trunk/src/main/java/com/facebook/android/FbDialog.java
    incubator/photark/mobile/trunk/src/main/java/com/facebook/android/Util.java
    incubator/photark/mobile/trunk/src/main/java/org/apache/cordova/
    incubator/photark/mobile/trunk/src/main/java/org/apache/cordova/facebook/
    incubator/photark/mobile/trunk/src/main/java/org/apache/cordova/facebook/ConnectPlugin.java
Modified:
    incubator/photark/mobile/trunk/assets/www/index.html
    incubator/photark/mobile/trunk/res/xml/plugins.xml

Modified: incubator/photark/mobile/trunk/assets/www/index.html
URL: http://svn.apache.org/viewvc/incubator/photark/mobile/trunk/assets/www/index.html?rev=1351736&r1=1351735&r2=1351736&view=diff
==============================================================================
--- incubator/photark/mobile/trunk/assets/www/index.html (original)
+++ incubator/photark/mobile/trunk/assets/www/index.html Tue Jun 19 15:06:25 2012
@@ -10,6 +10,8 @@
 		<script type="text/javascript" src="scripts/jquery.mobile-1.1.0.min.js"></script>
 		<script type="text/javascript" src="scripts/mobiscroll-2.0.full.min.js"></script>
 		<script type="text/javascript" charset="utf-8" src="scripts/cordova-1.8.0.js" ></script>
+		<script src="scripts/cdv-plugin-fb-connect.js"></script><!--Facebook Connect Plugin-->
+		<script src="scripts/facebook_js_sdk.js"></script><!--Facebook JS SDK-->
 		<script type="text/javascript" charset="utf-8" src="scripts/contacts.js" ></script>
 		<script type="text/javascript" charset="utf-8" src="scripts/geoLocation.js" ></script>
 		<script type="text/javascript" charset="utf-8" src="scripts/utils.js" ></script>
@@ -156,11 +158,14 @@
 				data-role="button" onclick="getPhoto(pictureSource.PHOTOLIBRARY)"
 				data-theme="b">From Photo Library</a>
 				<br>
+				<a href="#webAlbum"
+				data-role="button" data-theme="b">Web Album</a>
+				<br>
 				<!-- <a href="#EditMetadata"
 				data-role="button" id="myButton" class="ui-disabled" data-theme="b">EditMetadata</a>
-				<br> -->
+				<br> 
 				<img id="largeImage"
-				src="images/logo.png" height="200" width="200" />
+				src="images/logo.png" height="200" width="200" />-->
 				<!-- <div id="metadata"></div> -->
 			</div>
 			<!-- Page Body End -->
@@ -256,5 +261,114 @@
 			</div>
 		</div>
 		<!-- Page End -->
+		<!-- User's Web Album -->
+		<div id="webAlbum" data-role="page">
+			<!-- Page Header Start -->
+			<div data-role="header" data-position="fixed">
+				<h1>PhotArc Mobile</h1>
+			</div>
+			<!-- Page Header End -->
+			<!-- Content Start-->
+			<div id="a" data-role="content" align="center">
+				<h3>Facebook</h3>
+				<a href="#" data-role="button" onclick="login()"
+				data-theme="b">Login</a>
+				<a href="#" data-role="button" onclick="me()"
+				data-theme="b">Get Friends</a>
+				<div id="data">loading ...</div>    
+				<script>
+					if ((typeof cordova == 'undefined') && (typeof Cordova == 'undefined')) alert('Cordova variable does not exist. Check that you have included cordova.js correctly');
+					if (typeof CDV == 'undefined') alert('CDV variable does not exist. Check that you have included cdv-plugin-fb-connect.js correctly');
+					if (typeof FB == 'undefined') alert('FB variable does not exist. Check that you have included the Facebook JS SDK file.');
+					
+					FB.Event.subscribe('auth.login', function(response) {
+									   /*alert('auth.login event');*/
+									   });
+					
+					FB.Event.subscribe('auth.logout', function(response) {
+									   alert('auth.logout event');
+									   });
+					
+					FB.Event.subscribe('auth.sessionChange', function(response) {
+									   alert('auth.sessionChange event');
+									   });
+					
+					FB.Event.subscribe('auth.statusChange', function(response) {
+									   /*alert('auth.statusChange event');*/
+									   });
+					
+					function getLoginStatus() {
+						FB.getLoginStatus(function(response) {
+										  if (response.status == 'connected') {
+										  alert('logged in');
+										  } else {
+										  alert('not logged in');
+										  }
+										  });
+					}
+					var friendIDs = [];
+					var fdata;
+					function me() {
+						FB.api('/me/friends', { fields: 'id, name, picture' },  function(response) {
+							   if (response.error) {
+							   alert(JSON.stringify(response.error));
+							   } else {
+							   var data = document.getElementById('data');
+							   fdata=response.data;
+							   console.log("fdata: "+fdata);
+							   response.data.forEach(function(item) {
+													 var d = document.createElement('div');
+													 d.innerHTML = "<img src="+item.picture+"/>"+item.name;
+													 data.appendChild(d);
+													 });
+							   }
+							var friends = response.data;
+							console.log(friends.length); 
+							for (var k = 0; k < friends.length && k < 200; k++) {
+								var friend = friends[k];
+								var index = 1;
+
+								friendIDs[k] = friend.id;
+								//friendsInfo[k] = friend;
+							}
+							console.log("friendId's: "+friendIDs);
+							   });
+					}         
+					function login() {
+						FB.login(
+								 function(response) {
+								 if (response.session) {
+								 alert('logged in');
+								 } else {
+								 /*alert('not logged in');*/
+								 }
+								 },
+								 { scope: "user_photos" }
+								 );
+					}            
+					document.addEventListener('deviceready', function() {
+											  try {
+											  FB.init({ appId: "423746790989627", nativeInterface: CDV.FB, useCachedDialogs: false });
+											  document.getElementById('data').innerHTML = "";
+											  } catch (e) {
+											  alert(e);
+											  }
+											  }, false);
+					</script>
+				</div>
+				<!-- Content End -->
+				<!-- Page Footer Start -->
+			<div data-role="footer" data-position="fixed" >
+				<div id="toolbar_message" style="text-align: center">
+					<a href="#" data-role="button" data-icon="search">Search</a>
+				</div>
+				<div id="toolbar_icons" style="display: none;text-align: center" >
+					<a href="#EditMetadata" data-role="button" data-icon="plus" data-transition="flip">Edit Metadata</a>
+					<a href="#" data-role="button" data-icon="search">Search</a>
+					<a href="#ConfirmDelete" data-role="button" data-icon="delete" data-rel="dialog" data-transition="pop">Delete</a>
+				</div>
+			</div>
+			<!-- Page Footer End -->
+		</div>
 	</body>
 </html>

Added: incubator/photark/mobile/trunk/assets/www/scripts/cdv-plugin-fb-connect.js
URL: http://svn.apache.org/viewvc/incubator/photark/mobile/trunk/assets/www/scripts/cdv-plugin-fb-connect.js?rev=1351736&view=auto
==============================================================================
--- incubator/photark/mobile/trunk/assets/www/scripts/cdv-plugin-fb-connect.js (added)
+++ incubator/photark/mobile/trunk/assets/www/scripts/cdv-plugin-fb-connect.js Tue Jun 19 15:06:25 2012
@@ -0,0 +1,58 @@
+CDV = ( typeof CDV == 'undefined' ? {} : CDV );
+var cordova = window.cordova || window.Cordova;
+CDV.FB = {
+  init: function(apiKey, fail) {
+    // create the fb-root element if it doesn't exist
+    if (!document.getElementById('fb-root')) {
+      var elem = document.createElement('div');
+      elem.id = 'fb-root';
+      document.body.appendChild(elem);
+    }
+    cordova.exec(function() {
+    var authResponse = JSON.parse(localStorage.getItem('cdv_fb_session') || '{"expiresIn":0}');
+    if (authResponse && authResponse.expirationTime) { 
+      var nowTime = (new Date()).getTime();
+      if (authResponse.expirationTime > nowTime) { 
+        // Update expires in information
+        updatedExpiresIn = Math.floor((authResponse.expirationTime - nowTime) / 1000);
+        authResponse.expiresIn = updatedExpiresIn;
+                 
+        localStorage.setItem('cdv_fb_session', JSON.stringify(authResponse));
+        FB.Auth.setAuthResponse(authResponse, 'connected');
+       }
+      }
+      console.log('Cordova Facebook Connect plugin initialized successfully.');
+    }, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'init', [apiKey]);
+  },
+  login: function(params, cb, fail) {
+    params = params || { scope: '' };
+    cordova.exec(function(e) { // login
+        if (e.authResponse && e.authResponse.expiresIn) {
+          var expirationTime = e.authResponse.expiresIn === 0
+          ? 0 
+          : (new Date()).getTime() + e.authResponse.expiresIn * 1000;
+          e.authResponse.expirationTime = expirationTime; 
+        }
+        localStorage.setItem('cdv_fb_session', JSON.stringify(e.authResponse));
+        FB.Auth.setAuthResponse(e.authResponse, 'connected');
+        if (cb) cb(e);
+    }, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'login', params.scope.split(',') );
+  },
+  logout: function(cb, fail) {
+    cordova.exec(function(e) {
+      localStorage.removeItem('cdv_fb_session');
+      FB.Auth.setAuthResponse(null, 'notConnected');
+      if (cb) cb(e);
+    }, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'logout', []);
+  },
+  getLoginStatus: function(cb, fail) {
+    cordova.exec(function(e) {
+      if (cb) cb(e);
+    }, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'getLoginStatus', []);
+  },
+  dialog: function(params, cb, fail) {
+    cordova.exec(function(e) { // login
+      if (cb) cb(e);
+                  }, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'showDialog', [params] );
+  }
+};