Smart App Locker: AKURATHI LIKITH SAI-9916004005 G.VENKATA SAI KIREETI-9916004042 G.MARUTHI (9916004038)
Smart App Locker: AKURATHI LIKITH SAI-9916004005 G.VENKATA SAI KIREETI-9916004042 G.MARUTHI (9916004038)
A PROJECT REPORT
Submitted by
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
Date:
KALASALINGAM UNIVERSITY
(Kalasalingam Academy of Research and Education)
KRISHNANKOIL 626 126
BONAFIDE CERTIFICATE
Certified that this project report “SMART APP LOCK ” is the bonafide work of “
AKURATHI LIKITH SAI (9916004005) G.VENKATA KIREETI (9916004042)
G.MARUTHI (9916004038)”who carried out the project work under my supervision.
Android is a mobile operating system based on the Linux kernel which is currently
developed by Google. It is an open source operating system developed primarily for mobile
handheld devices such as touch screen smart phones, tablets, wrist gear etc and since 2013,
Android devices have been outselling their competitors IOS, Windows and Blackberry. Social
networking and the use of emails on mobile devices have also increased greatly over the past few
years with the rise in the popularity of smart phones and mobile devices such as tablets, causing
the need for special applications to be built to serve the demands of the public.
OneNote application, for Android, has the most frequently used email and social media
such as Gmail, Facebook, Twitter and LinkedIn integrated under one roof. Generally, when a
user logs in to his/her application on a smartphone, it stays logged in. The user has to logout
from all the social apps to ensure security. It also provides various setting options. To further
increase the security of the application from attackers, two-step verification is implemented. This
ii
TABLE OF CONTENTS
Abstract........................................................................................................................................................ii
1. Background ...................................................................................................................................... 1
Solution…………………………………… …………………………………..9
Rationale…………………………………………… ...……………………………10
2.2 System................................................................................................................................... 11
iii
3.3 Use Case Diagram ............................................................................................................. 16
Modules………………………………………………………………………18
Requirements…………………… ...…………………………………………22
Outcome………………………… ...…………………………………………22
Testing………….......................................................................................................38
Registration……………… ..…………………………………………………38
Login………………………… ………………………………………………39
Settings…………………………… ...………………………………………..42
7. Bibliography .................................................................................................................................. 46
iv
LIST OF FIGURES
v
Figure 4.18 Compose email……………………………… ..…………………………….36
vi
1. BACKGROUND
After the advances in technology, we can say with certainty that smart phones have
replaced the standard mobile phones in the market. A combination of Personal Digital Assistant
and cellular phone, smart phone use has increased over the past few years. In 2013, about 90 per
cent of the mobile phones purchased were smart phones and between 2012 and 2014, the number
of smart phone users increased by about 0.75 billion. The total usage is now estimated (as of
The smart phones are built on a mobile operating system with computing capabilities and
advanced connectivity (Pewresearch 2014). They are very portable and help the users perform
their tasks easily and simultaneously. Instead of carrying Personal Digital Assistants or personal
computers, the user can simply carry the smart phone, which is much more portable and are
capable of multitasking – they can send a text message or an email or make a phone call from the
Smartphones use a variety of operating systems. Some of the very popular mobile
operating systems are Apple’s IOS, Windows, Nokia’s Symbian, RIM’s BlackBerry OS,
Android etc. Android is a Linux based operating system and was first used on a smart phone in
October 2008 on HTC’s Dream. Since then, there was no stopping it and the number of phones
These smartphones have a lot of functionality in them. The users can customize User
Interfaces and make them more convenient depending on their use. They have different kinds of
menu screens and home screens. The menu screens have all the
1
applications on the phone and the user can add shortcuts to these applications on the home
screen. These phones display live content, videos, notifications from various applications etc.
They display notifications from text messages, emails, social networking apps etc. A click on
these notifications will re-direct the user to the specific application from which the notification
came.
Android has its compatibility with different hardware and it supports features such as
online gaming, video streaming, video calling, Wi-Fi Internet, multitasking etc. Android also has
the capability of printing the screen via screenshots. The phone captures an image of the entire
screen as it is with a command. Android has attracted much interest in development because the
The Android operating system allows different third party developers to develop
applications for it, unlike Apple where the developer has to be registered with the development
site. There are different kinds of applications available and they are divided into categories on
the Play Store, which is where the user generally downloads applications for Android phones.
The different categories of applications include news, photography, sports, productivity, music,
There were about 1 million applications available for Android as of 2013 and the numbers
of applications downloaded from the Google Play Store were about 48 billion.
2
The users will download applications from the play store and use them to their convenience.
1.1 Introduction
Security in smart phones and tablets can be applied at various levels; the security of the
phone in general, and the security of applications in the phone such as social networking apps,
online banking apps, email apps, online shopping apps etc. Logged in social networking apps
and email apps are very vulnerable to misuse. These apps may contain a lot of sensitive
information and secure data. Vulnerabilities in these apps will attract misuse of the data and
As of now, the android operating system has individual apps for each of the social
networking sites. The user has to go to each of the apps to access them. These smart phones have
been built with multi-tasking abilities to switch between apps while the other apps are still
running. For example, a user can talk on the speakerphone while looking at the Facebook app.
When a user is logged in to the email or social app, all the notifications and updates
within the app can be accessed. When the app is exited, it will not logout. The email and social
apps on these smart phones are live apps. Once logged in, they are always logged in and the user
It becomes convenient for the users to access their email and post to social networks from
one app. This will not only save the time for the user, but will also keep those apps secure by
3
1.2 Previous Work
There has been a lot of development going on in the field of android operating system and
smart phones. Over the past 5 years, there have been tremendous developments and great
innovations in this field, including hundreds of thousands of apps that were developed in this
time, with each app intending to serve the user better. The usage and interest in the app depends
on the user’s smartphone usage, however, and all the apps may not be suitable to all the users.
Over a few years, Android and Apple’s iOS have been the two most popular operating
systems used in smartphones. A survey of Norwegian mobile phone users was conducted and
observations were made. The observations suggest that Apple has a wider network of people for
social networks with Apple users having more friends than Android users. Perhaps this is
because Apple IOS came to existence before the Android operating system but despite this, the
growth in the Android operating system is still very high. The use of Android and Apple also
Android mobile devices have become a popular alternative to traditional PCs. The rise in
the tasks being performed on these devices suggests that sensitive information is sometimes
stored on these devices. Due to this, they have become targets for criminal exploitation. The
existing security can be changed or improved by android modifications, which can reduce the
remove the app’s permissions to a source. The repackaged app can run on all devices that the
original app had supported. A study of certain social networking apps for Android
4
devices shows the difficulty of permissions removal, varying between the type of permissions
and how the permission is integrated within the app (Quang Do 2014).
Human beings have become very social, in terms of how much they interact with others
outside of people within their family. They constantly want to stay in touch with their parents or
children or relatives or friends or work colleagues. Meet You is an app where the users are
alerted when their friends or family are around. Linking the GPS with the social network app can
do this. The user can do a check-in by using the social app when he/she is at a particular place.
This would let the users friends know that the person is around that location. This feature could
help the user keep track of a friend’s location and also let the users friends know about the
location (Alexandra-Mihaela Siriteanu 2013). But this information would need to be private and
secure.
The social networking applications are built on certain architecture. There is a new way to
develop social networking apps that are context-aware, via Mobile Semantic Web. These
applications change the way of communication by making use of the user’s context; micro
blogging for example, which is an efficient way to convey the current activity and situation by
There is a difference between using social networking on static computers and mobile
devices. Though the current mobile devices have good connectivity and accuracy, the users
contexts may change very frequently, hence an agent-based system architecture based on
distributed platform is required for developing semi-automated and semantic social networking
5
Social networking information is being used in ways that it might not have been intended
originally. Due to the increased use of smart phones capable of running applications that can
access the social network information such as the user’s location and preferences, the other
applications are aware of the user’s preferences and location. For example, apps including
Spotify and Shazam are capable of posting on behalf of the user in to the Facebook account.
Other external apps can also access social networks such as Facebook and post on the user’s
The user can change the settings inside the app and block the app from accessing the social
network.
Location based services need to query the mobile devices for the user’s social network
information without disclosing the user’s identity or compromising the user’s privacy. These
solutions will play a very important role, as the mobile social networks tend to grow
People all over the world use social networks. The users distributed worldwide, use
different service providers. There may be trust issues with the independent service providers
worldwide, hence it becomes hard to explicitly set-up their public keys with the conventional PK
infrastructure. Identity based encryption schemes enable secure communication with social
networking applications based on user identities like telephone numbers. By using these identity-
based functions, user can send messages using these social networks all over the world, securely
(Yongdong Wu 2013).
Face recognition is another method used to improve the security in android mobile smart
phones. The face recognition feature captures the image of the user and sets it as the password.
When the user tries to unlock the phone, the camera captures the image of
6
the person trying to unlock and matches it with the password image. If these two images match,
then the phone unlocks. This feature has some negative sides, as the person’s image can be
captured in conditions where the person is not willing (Antonia Rana 2013).
In the last 20 years, both mobile communication and Internet grew in parallel. There are
many sites that are designed for mobile phones. These sites allow the user to login with a user
name and a password. Captcha does not require any user name and password. Instead of entering
a password, the user is shown a difficult code and he has to enter that code. The code is sent
along with the users mobile phone IMEI number and when the server matches it with the
information with in it, it allows the user to enter the site. This provides the user with a password
less login. This has been implemented on the Nokia N71 phone (Mohammad Shirali-Shahreza
2007).
Android has over a million different applications and each of these applications help the
user solve problems in a different way. One of our problems is to secure the social networking
apps with a single user ID and password. Other developers have tried to solve this issue in a
different way.
APP Lock
APP Lock is an app that is used to lock the applications on a phone. The user can use this
app to select the applications that he/she wants to lock. Any social network applications like
Facebook, Twitter, LinkedIn, Gmail, and Whatsapp can be locked with a passcode. When the
user tries to enter these applications, it prompts the user to enter the set passcode, thus keeping
7
There are some negative sides to this application. The user has to enter the passcode each
time he opens a secured application, and when the user is chatting or interacting with people on
different social networks, he has to switch between the applications too often. Due to this, the
app lock launches too many times and there is a lot of context switching which, as a result, slows
down the phone and kills too much battery. It also becomes quite an effort for the user to enter
the passcode so many times; it wastes a lot of time and frustrates the user. (DoMobileLab 2014).
Social Lock
Social Lock is an app that is used to lock all the social networking apps on the phone. This
app will have a pattern lock that can be set at the beginning and that lock will secure all the
social networking apps. Social networking apps need ease of operation. The user should be able
to move between the apps and back and forth easily. This kind of a lock will make the user
Sometimes people have conversations with one person on one app and another person on
the other app. When the number of persons the user is talking to increases, the switching between
the apps increases. There is a need for the user to have all these apps under one roof and also
secure them with one password, so that the user can log in and log out of all the apps easily
(1BNSoftware 2014).
1.4 Solution
This project will build an application in which the favorite social networking apps and
emails apps like Facebook, Gmail, Twitter and LinkedIn are integrated into one app.
8
This application will have login page and a registration page. At the registration, the user has to
register to the social networking apps by providing the ID and passwords. The database will store
all the registration details by creating tables. The user should also set up an ID and password for
this application. After this process, whenever the user logs in to the application, Gmail and their
other social networks can be accessed to send emails, check inbox, reply to mails and post to the
network.
It also has settings options where screen orientation; notifications services (enable and
disable) are available. This way the user will not need to log out from all the applications
separately and make posts from one application. This will save a lot of time and also keep the
social networking apps secure. This application will also use a two-step verification using
9
2. RATIONALE
Due to the increase in the development of communication and mobile phones, the usage
of these phones has increased so much that it is inconvenient for a person in todays’ world to live
without a smart phone. Smart phones have been becoming compact and sleek from the time they
came into existence. They are designed differently depending on the use of the person. For
example, some smart phones have smaller screens to increase the mobility and ease of operation.
Where as, some smart phones have bigger screens to increase the pleasure of watching videos,
The social networking apps contain the entire social networking history of the user. From
the time a user registered to a particular social network to the present date, all their activity is
stored on its server, hence there is a great need to protect these applications. Also, to increase the
ease of operation of these networks, integration of multiple social networks to a single app is
important.
2.1 Motivation
From the time the smart phones came in to usage, there have always been problems with
the security of these phones. There has never been a phone that is completely secure. Social
networks are one of the most vulnerable places, where the user has a lot of personal and sensitive
As of 2013, 73% of the adults of the United States use social networks and are very
active. 25% of the messages sent from social networks were unauthorized. 43% of the
10
out of 100 times, logged in social networks were used to play pranks and other inappropriate
activities. Friends of the users made 36% of the pranks and fake statuses. Out of the total
changes in personal details on the social profiles, 24% were unauthorized and were made by
someone else. 47% of the pranks played were abusive and embarrassing (IndiaGarner 2013).
Some of these pranks led to violent actions from the users and some led to suicides and
negative activity due to the irreversible nature of them, hence there is a great need to secure these
social networks, as well as a great need to have all the social media under one roof, so that it
2.2 System
This application has the frequently used email and social media Gmail, Facebook, Twitter
and LinkedIn integrated under one roof. Generally, when a user logs in to his application on a
smart phone, it stays logged in. The user has to logout from all the social apps to ensure security.
It also provides various setting options. To further increase the security of the application from
This is an android application that has to be downloaded and installed on a phone. It will
have the selected social networks integrated with it. The user can post to social networks directly
from this application. Once installed and registered, it will automatically login the user to all the
social networks and a logout of the application will log the user out from all the applications.
11
The application can be distributed via email and is a .apk file. The users can download
the application and run it with a single touch. Once this is done, the user can register to the social
2.4 Functionality
The android application will have the following functions that the user can use, to
Single Interface.
Settings.
Two-step verification.
12
3. SYSTEM DESIGN
This chapter discusses the design of the architecture of the entire system. This chapter
also discusses the flow diagrams, use case diagram, modules, important components and class
diagrams.
Figure 3.1 shows the architecture for OneNote application. This application is a stand-
alone app and it does not have its own server. It makes use of the SQLite database server to store
the usernames and passwords temporarily. The app connects to the Gmail server using SMTP
and IMAP protocols with secure socket layer port 465 and 993 respectively. The incoming mail
connections use IMAP while the outgoing mail connections use SMTP. The Login validation
checks the username and password entered with the username and password in the database and
13
accordingly. For social networks, access tokens are used to control the session. The authorization
for social networks is done using their own APIs. For file attachments, Bitmap is used to decode
the file path and compress the attachments. Broadcast receiver runs in the background to check
for new emails received and the notification manager gives the new notifications to the app.
These components and modules are discussed clearly, later in this chapter.
Figure 3.2 shows the design flow for the application. The activity starts with the
SplashScreenActivity class. This activity runs while the AppDataBaseHelper loads the database
tables. The LoginActivity has options for the user to signin or signup. The user has to signup
first. Hence, the app goes to SignUpActivity class. In this class, the user enters the details such as
username, password, confirm password, email and phone number. The AppDataBaseHelper uses
the phone number provided as userUniquePhnumber. It stores the data entered against the users
userUniquePhnumber. Whenever the user logs in to the app from the LoginActivity, the
VerificationActivity class. The randomly generated code is sent to the user as a text message to
the userUniquePhnumber. The user has to enter the code at the login verification screen to enter
the application.
MainDashBoardActivity has the buttons for the social networks, Gmail and settings. It
14
The social networks use their own API for authorization. Facebook provides APPID,
consumer key and secret key, while LinkedIn and Twitter has the consumer key and secret key.
These keys are used to connect with the social network APIs for authorization. The session is
controlled using the access tokens and expire time which are stored in the SharedPreferences for
15
3.3 Use-case Diagram
Figure 3.3 shows the use case diagram for the system with three actors and components.
The actors are the user, database and notifications. The use case diagram shows the interaction
16
3.4 Sequence diagram
Figure 3.4 shows the sequence diagram for the activities in the OneNote
Application.
17
3.5 Modules
This system made used of several modules for functioning of the app, such
as:
Noticeboard receiver
SQLite Database:
The application needs a database to store the user details, recent posts and others. SQLite
database is a server less, transactional SQL database engine. AppDataBaseHelper class is used
for the SQLite database. An object helper is created to use this database in other classes. It stores
the details of the user against the userUniquePhnumber, which is the number provided by the
user at signup. It uses several strings to store user details session IDs, Gmail inbox details,
Facebook upload details and others in tables. When the user logs out the session is cleared.
fbMessage and fbDate which stores the respective information. It also stores the information in
2. Noticeboard Receiver:
18
The noticeboard receiver extends to the broadcast receiver. Broadcast receiver is an
android component that runs in the background to receive any new data such as new emails. It
uses a method email manager to connect to the Gmail server using SMTP and IMAP protocols
to get the new emails. A method initprotocol() is created to establish a session with the Gmail
server. getInboxMails() is used to store the imap session in store, which is a java data type.
Inbox is then retrieved after the connection is established. Notification manager uses the
notification service to notify new emails. Inbox mails are stored in the inbox tab by using
store.getFolder(inbox).
IMAP and SMTP use standard Simple Authentication and Security Layer, via native
IMAP AUTHENTICATE and SMTP AUTH commands, to authenticate users. The incoming
connection for IMAP use port 993 and SMTP use port 465 for outgoing connections. IMAP and
Social networks use their own API for login authorization. Hence, each session for the
social networks has an access token and session expire time. Session expire time is set to 0,
which means the session does not expire until logout is done at that particular social network.
19
The pictures on the phone use a lot of memory. It becomes difficult to set the image on
the phone in the particular space, hence Bitmap is used to decode the file path and set the scale to
a required size.
Figure 3.5 shows the class diagram for the OneNote application main activity.
20
Figure 3.5 Class diagram for Application Activity.
21
SYSTEM IMPLEMENTATION
Android Components
The SDKs of each of the social networks such as Facebook, Twitter and LinkedIn are
used to develop the interface for these apps. These apps are all integrated to one single interface.
The SQLite database is used to store the usernames and passwords of the apps temporarily. The
notifications manager is used to provide new notification whenever the account gets a new email.
Connectivity manager checks the connectivity of the phone and verifies the Internet connection.
Broadcast receiver keeps the app running in the background to support the notification manager.
4.2 Requirements
The most important requirement for this system is an Android device with version 4.0 or
4.3 Outcome
The outcome of this project will be OneNote.apk. This file can be downloaded and
installed on android devices. It can be distributed via email for testing and usage purposes.
The application can be opened from the home screen. This application implementation
Login
Registration
22
Login verification
Dashboard
Social Networks
Settings
When the user opens the OneNote application, the OnCreate() shows a splash screen
while the app establishes a connection with the database and creates tables. So, splash screen
activity is run in the foreground until the app data is initialized as shown in Figure 4.1.
if (Utility.haveNetworkConnection((ConnectivityManager)
getSystemService(CONNECTIVITY_SERVICE))) {
23
startActivity(intent);
SplashScreenActivity.this.finish();
}
else
{
showDialog(1);
}
Figure 4.2 Checking connectivity at splash screen
The app checks for the Internet connection. If the connection is established,
4.3. Figure 4.2 shows the commands for checking the connectivity.
1. Login:
This page uses three buttons backButton, signinBtn and singupBtn. OnCreate() is used to
open the page with its layout and contents. It uses TextView as titleTV which is set to ‘user
login’. This page needs two text editors userNameET and pwdET to enter
24
username and password respectively. AppDataBaseHelper class is used to verify the username
and password.
If the ID of the button pressed is equal to the backBtnID, the login activity closes and
goes to the previous page. If the ID of the button pressed is equal to the signinBtn_ID, then the
strings userNameET and pwdET are checked with the database via helper which is the object
created for AppDatabaseHelper.java class. The phone number registered with the username and
password is checked with the useruniquePhnumber. When both the numbers are same,
VerificationActivity class is called using Intent and the user will see login verification page.
If the fields are entered incorrectly or not entered completely, showDialog() pops up
messages ‘Please enter valid details’ or ‘Username and password should not be empty”
respectively. Similarly when the ID of the button pressed is equal to the signupBtn_ID,
SignUpScreenActivity class is called. Figure 4.4 shows the login screen with the buttons, title
2. Registration:
OnCreate() opens the registration screen with backButton, signupBtn, titleTV. It also has
strings nameET, passwordET, emailET, phnoET, confirmET as text fields. These are used to
enter the user details. The details entered are stored in AppDataBaseHelper class via object
if(isEmailValid(email))
{
if(!helper.checkUserSignUp(phno))
{
helper.addUserDetails(new UserDetails(name,pwd,email,phno,""));
showDialog(5);
25
}
The user details entered are checked for the conditions shown in Figure 4.5 and showDialog() is
When showdialog(5) appears, user presses OK button and OnClick() will dismiss the alert and
26
Figure 4.6 Signup screen.
3. Login Verification:
OnCreate() launches the page with backButton, verifyBtn , titleTV title and verifyET text
editor. verifyEV has the 4-digit random code. When the id of the button pressed is equal to
27
}
The random 4-digit code is generated by using the commands shown in Figure 4.7 and is
sent to the phone number used at signup. Figure 4.8 shows the login verification screen.
4. Dashboard:
linkedInBtn, facebookBtn, settingsBtn, titleTV . The titleTV for this screen is Dashboard.
If the ID of the button pressed is equal to the gmailBtnID, then the app checks for
connectivity and calls the GmailLoginActivity class. If no connectivity, showDialog() shows the
‘No internet connection’ message. Other social networks are selected similarly.
If the user selects logout button, showDialog() shows the dialog ‘Do you want to
28
logout’ with two buttons yes and no. If yes, app is logged out and the session details in database
are cleared with the help of userUniquePhNumber. If no, then the alert is dismissed and the app
The user can choose one of the options from the dashboard and perform the required
5. Social Networks:
Facebook developers site provides the APPID. This APP_ID is given to the facebook
object. With the Facebook object, methods required can be called from Facebook API. Figure
29
Figure 4.10 Facebook login.
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null); long
expires = mPrefs.getLong("access_expires", 0);
Every session will have an access token. We can get the access token from the
getAccessToken() method. The access token will be stored in to the shared preferences file.
Every session will have an expire time. We can get the expire time from the getAccessExpires()
method. The access token will be stored in to the shared preferences file. The session can be
restored from the access token and expire time. These can be retrieved from the stored shared
30
Figure 4.12 Facebook user profile.
OnClickListener is set for the logout button, which monitors the user input.
facebook.logout(this) method is used to logout from Facebook account. The access token and
The code in Figure 4.13 is used to load the user profile picture to the image view using
imageLoader. Graph API is used to get data in and out of Facebook. Figure 4.12 shows the User
profile.
31
Figure 4.14 Facebook share screen.
In the Figure 4.14, there is an image button, edit text and share button. OnClickListeners are set
for image button and share button. Text entered in the edit text is retrieved using the getText()
method. Path of the image is stored in a variable and the image is converted into bitmap format
and then compressed. Using the access token, the message with an image is posted on to
Facebook. The post is also saved into the AppDataBaseHelper() against the
userUniquePhnumber; which would be displayed in recent posts tab as shown in Figure 4.15.
The getFacebookUploads() method is used to get the recently made posts to the recent posts tab.
The consumer key and the secret key are provided by the twitter developer website.
ConnectivityManager checks for the network connection. Consumer key and secret key are
passed to twitt() object, which are then passed to the TwitterApp object. Twitter API is used to
authorize the given credentials. Figure 4.17 shows the twitter share screen.
32
Figure 4.15 Facebook recent posts.
The text entered in the text editor is passed to twitt.share() method when the
toasted.
33
Figure 4.17 Twitter share.
The file path for attachment is obtained from the code in Figure 4.16 based on user
selection. The path is then given to BitmapFactory. Using the bitmap, image can be set to the
image view. Twitter recent posts are obtained from the database using the userUniquePhnumber.
For Gmail, the username and password are retrieved from the edit text and given to the
GmailDashBoardActivity class is called. The username and password for Gmail are saved to
helper object. The login details are saved in the helper object against the UserUniquePhnumber.
34
Figure 4.18 Compose email.
User profile information is obtained from GmailProfileActivity using the data passed
For composing email, username and password are obtained from helper object. These
details are given to the SMTP authenticator. SMTP creates an instance of a session. Using
MimeMessage, it delivers the email to the recipient. EmailManager provides the username,
password and urlserver to the EmailAuthenticator, which checks the credentials. IMAP session is
created to retrieve inbox. Figure 4.19 shows the inbox and delete email screen.
The LinkedIn API provides authorization. LinkedIn consumer key and secret key are
used to communicate with LinkedIn API, similar to Twitter. Each session has an access token,
which are obtained after the authorization. Profile information is obtained as follows.
35
Figure 4.19 Inbox and delete email.
Text from the edit text is retrieved. Using the OAuthConsumer with the help of LinkedIn
consumer key, secret key and access token, for a successful authentication, text is posted using
an http client as shown in Figure 4.20. The posts are then saved in the helper object against the
userUniquePhnumber.
Config.LINKEDIN_CONSUMER_KEY,
Config.LINKEDIN_CONSUMER_SECRET);
consumer.setTokenWithSecret(accessToken.getToken(),
accessToken.getTokenSecret());
DefaultH ttpClient httpclient = new
DefaultHttpClient();
HttpPost post = new HttpPost(
"https://api.linkedin.com/v1/people/~/shares");
36
Figure 4.20 LinkedIn Authentication.
6. Settings:
The settings screen has options such as turning email notifications on and off,
changing the user password and screen view options. Figure 4.21 shows the settings screen.
All the changes made in the settings are saved to the helper object. Notification
Service can be turned on and off from the mail updates. The setNotificationReciever() object is
used to turn the updates on and off. Change in the password is updated in the helper via edit text.
5. TESTING
37
The app has to be downloaded and installed on the Android mobile device. Once
Registration
Login
Login verification
Social networks
Settings
5.1.Registration
The testing of registration phase has two test cases. The two test cases would
be:
Unsuccessful Registration.
II.Successful Registration.
The app will provide slots to enter personal information such as username, password,
confirm password, email and phone number during registration. The user has to enter all the
details and then touch the sign up button. In case of absence of one of those details, the app will
38
Figure 5.1(a) Unsuccessful registration. 5.1(b) Successful registration.
When the user enters all the fields correctly, the app will display a message saying
‘you successfully signed up’ as in Figure 5.1(b); which means successful registration.
5.2. Login
The testing of the login phase is also divided in to 2 test cases. The two cases
would be:
Unsuccessful Login
Successful Login
When the registration phase is successful, the user will have a username and a
password with which they can login to the app. When the user enters the credentials
39
incorrectly, the app will show a message saying ‘Please enter valid details’ as shown in
When the user enters the credentials correctly, the app will show the login
verification page as in Figure 5.2(b); which means the login was successful in the first step.
When the login is successful, the app will take the user to the second step of verification,
The testing of login verification phase is also divided in to two test cases. The test
40
When the user enters the correct credentials, the app will show the login verification
page. At the same time, it also generates a random 4-digit code and sends it to the user via text
message. The user has to enter the latest 4-digit code to enter the app.
When the user enters the code incorrectly, the app will show the message saying ‘Please enter
valid details’ as shown in figure 5.3(a); which means an unsuccessful login verification.
When the user enters the correct 4-digit code, the app will show the dashboard as
shown in Figure 5.3(b); which means the login verification was successful.
Each of the social networks has its own testing cases. The social network phase
Successful login
41
When the user enters incorrect credentials, the app will show a message as shown
When the user enters correct credentials, the app will show the Facebook page with
different options as shown in Figure 5.4(b); which means the login was successful.
5.5. Settings
Change Password.
II.Screen View.
The change password phase is where the user can change the existing password to a
The screen view phase is where the user can change the view of the screen from
portrait mode to landscape mode and vice versa as shown in Figure 5.10
42
Figure 5.5 Change password
43
6. CONCLUSION AND FUTUREWORK
6.1 Conclusion
The OneNote application is unique and it provides security via 2-step verification to
the social networking apps. It also provides a single interface to the selected apps. SQLite
database is used to store user and other details temporarily. The login to OneNote application
will also login all the apps and vice versa. Generating a text message with a random 4-digit code
provides the 2-step verification. This code will provide application access to the user. The user is
able to post to Social networks. Users can also compose mails, check inboxes and reply to
messages. The settings screen will provide other user compatibility options such as screen view,
turning on notifications and changing the password. This app will need the user to signup first
with his username phone number and email. Each user will have a userUniquePhnumber. The
Number of social networks and emails can be increased for much wider usage. This will
increase the number of users, as the users will have greater choice of social networks and emails.
More attractive and sophisticated user interface can be developed to make the app look
appealing. Adding animations and screen effects at the change of screens will make the app more
attractive. Better user interface will attract more users. Number of features on the social networks
can be increased such as chat, view friend profile and view the posts of other users. This will
make it easy for the user to manage his social networks from single app instead of downloading
44
step of verification instead of the 4-digit code to improve the speed of operation. The user will
not have to open text messages to see the new 4-digit code each time. As of now, the android
phones do not have the screens that can take fingerprint inputs. Shake the phone feature to
logout, so peers will find it difficult to know that the user is logging out. The motion sensors
45
1 Bibliography
Yongdong Wu, Zhigang Zhao. "Transparently Secure Smartphone-based Social Networking."
IEEE, 2013: 4475-4480.
Aaron Beach, Mike Cartrell. "Solutions to Security and Privacy in Mobile Social Networks."
IEEE, 2009: 1036-1042.
Alexandra-Mihaela Siriteanu, Adrian Iftene. "Meet You- Social Networking on Android." IEEE,
2013: 1-6.
Antonia Rana, Andrea Ciardulli. "Identity verification through face recognition, Android
smartphones and NFC." IEEE, 2013: 320-322.
Juwel Rana, Johan Kristiansson. "An Architecture for Mobile Socila Networking Applications."
IEEE, 2009: 241-246.
Johannes Bjelland, Geoffrey Canright. "A Social Network Study of the Apple vs. Android
Smartphone Battle." IEEE, 2012: 983-987.
KI-Cheol Son, Jong-Yeol Lee. "The method of android application speed up using NDK." IEEE,
2011: 382-385.
46
Quang Do, Ben Martini. "Enhancing user privacy on android mobile devices via
permissions removal." IEEE, 2014: 5070-5079.
47