Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
InstiApp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
RAHUL SHARMA
InstiApp
Commits
47c04734
Commit
47c04734
authored
Jul 13, 2018
by
Sajal Narang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement deep links
parent
a3d31364
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
103 additions
and
6 deletions
+103
-6
app/src/main/AndroidManifest.xml
app/src/main/AndroidManifest.xml
+46
-1
app/src/main/java/app/insti/MainActivity.java
app/src/main/java/app/insti/MainActivity.java
+43
-4
app/src/main/java/app/insti/data/Body.java
app/src/main/java/app/insti/data/Body.java
+6
-0
app/src/main/java/app/insti/fragment/ProfileFragment.java
app/src/main/java/app/insti/fragment/ProfileFragment.java
+8
-1
No files found.
app/src/main/AndroidManifest.xml
View file @
47c04734
...
@@ -35,7 +35,52 @@
...
@@ -35,7 +35,52 @@
android:label=
"@string/app_name"
android:label=
"@string/app_name"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
android:theme=
"@style/AppTheme.NoActionBar"
/>
android:theme=
"@style/AppTheme.NoActionBar"
>
<intent-filter
android:autoVerify=
"true"
>
<action
android:name=
"android.intent.action.VIEW"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
<category
android:name=
"android.intent.category.BROWSABLE"
/>
<data
android:scheme=
"https"
android:host=
"insti.app"
android:pathPattern=
"/org/.*"
/>
</intent-filter>
<intent-filter>
<action
android:name=
"android.intent.action.VIEW"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
<category
android:name=
"android.intent.category.BROWSABLE"
/>
<data
android:scheme=
"https"
android:host=
"insti.app"
android:pathPattern=
"/user/.*"
/>
</intent-filter>
<intent-filter>
<action
android:name=
"android.intent.action.VIEW"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
<category
android:name=
"android.intent.category.BROWSABLE"
/>
<data
android:scheme=
"http"
android:host=
"insti.app"
android:pathPattern=
"/org/.*"
/>
</intent-filter>
<intent-filter>
<action
android:name=
"android.intent.action.VIEW"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
<category
android:name=
"android.intent.category.BROWSABLE"
/>
<data
android:scheme=
"http"
android:host=
"insti.app"
android:pathPattern=
"/user/.*"
/>
</intent-filter>
</activity>
<activity
<activity
android:name=
".LoginActivity"
android:name=
".LoginActivity"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
...
...
app/src/main/java/app/insti/MainActivity.java
View file @
47c04734
...
@@ -23,11 +23,12 @@ import android.widget.ImageView;
...
@@ -23,11 +23,12 @@ import android.widget.ImageView;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
android.widget.Toast
;
import
com.google.gson.Gson
;
import
com.squareup.picasso.Picasso
;
import
com.squareup.picasso.Picasso
;
import
app.insti.api.UnsafeOkHttpClient
;
import
app.insti.api.UnsafeOkHttpClient
;
import
app.insti.data.Body
;
import
app.insti.data.User
;
import
app.insti.data.User
;
import
app.insti.fragment.BodyFragment
;
import
app.insti.fragment.CalendarFragment
;
import
app.insti.fragment.CalendarFragment
;
import
app.insti.fragment.FeedFragment
;
import
app.insti.fragment.FeedFragment
;
import
app.insti.fragment.MapFragment
;
import
app.insti.fragment.MapFragment
;
...
@@ -78,7 +79,46 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
...
@@ -78,7 +79,46 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
feedFragment
=
new
FeedFragment
();
feedFragment
=
new
FeedFragment
();
updateFragment
(
feedFragment
);
updateFragment
(
feedFragment
);
// fetchNotifications();
Intent
appLinkIntent
=
getIntent
();
handleIntent
(
appLinkIntent
);
}
private
void
handleIntent
(
Intent
appLinkIntent
)
{
String
appLinkAction
=
appLinkIntent
.
getAction
();
String
appLinkData
=
appLinkIntent
.
getDataString
();
if
(
Intent
.
ACTION_VIEW
.
equals
(
appLinkAction
)
&&
appLinkData
!=
null
)
{
switch
(
getType
(
appLinkData
))
{
case
"body"
:
Body
body
=
new
Body
(
getID
(
appLinkData
));
BodyFragment
bodyFragment
=
BodyFragment
.
newInstance
(
body
);
updateFragment
(
bodyFragment
);
break
;
case
"user"
:
ProfileFragment
profileFragment
=
ProfileFragment
.
newInstance
(
getID
(
appLinkData
));
updateFragment
(
profileFragment
);
}
}
}
private
String
getID
(
String
appLinkData
)
{
if
(
appLinkData
.
charAt
(
appLinkData
.
length
()
-
1
)
==
'/'
)
appLinkData
=
appLinkData
.
substring
(
0
,
appLinkData
.
length
()
-
1
);
switch
(
getType
(
appLinkData
))
{
case
"body"
:
return
appLinkData
.
substring
(
appLinkData
.
indexOf
(
"org"
)
+
4
);
case
"user"
:
return
appLinkData
.
substring
(
appLinkData
.
indexOf
(
"user"
)
+
5
);
}
return
null
;
}
private
String
getType
(
String
appLinkData
)
{
if
(
appLinkData
.
startsWith
(
"http://insti.app/org/"
)
||
appLinkData
.
startsWith
(
"https://insti.app/org/"
))
{
return
"body"
;
}
else
if
(
appLinkData
.
startsWith
(
"http://insti.app/user/"
)
||
appLinkData
.
startsWith
(
"https://insti.app/user/"
))
{
return
"user"
;
}
return
null
;
}
}
@Override
@Override
...
@@ -192,8 +232,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
...
@@ -192,8 +232,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
if
(
session
.
isLoggedIn
())
{
if
(
session
.
isLoggedIn
())
{
TrainingBlogFragment
trainingBlogFragment
=
new
TrainingBlogFragment
();
TrainingBlogFragment
trainingBlogFragment
=
new
TrainingBlogFragment
();
updateFragment
(
trainingBlogFragment
);
updateFragment
(
trainingBlogFragment
);
}
}
else
{
else
{
Toast
.
makeText
(
this
,
Constants
.
LOGIN_MESSAGE
,
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
this
,
Constants
.
LOGIN_MESSAGE
,
Toast
.
LENGTH_LONG
).
show
();
}
}
break
;
break
;
...
...
app/src/main/java/app/insti/data/Body.java
View file @
47c04734
...
@@ -2,6 +2,7 @@ package app.insti.data;
...
@@ -2,6 +2,7 @@ package app.insti.data;
import
android.arch.persistence.room.ColumnInfo
;
import
android.arch.persistence.room.ColumnInfo
;
import
android.arch.persistence.room.Entity
;
import
android.arch.persistence.room.Entity
;
import
android.arch.persistence.room.Ignore
;
import
android.arch.persistence.room.PrimaryKey
;
import
android.arch.persistence.room.PrimaryKey
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.NonNull
;
...
@@ -56,6 +57,11 @@ public class Body {
...
@@ -56,6 +57,11 @@ public class Body {
@SerializedName
(
"roles"
)
@SerializedName
(
"roles"
)
List
<
Role
>
bodyRoles
;
List
<
Role
>
bodyRoles
;
@Ignore
public
Body
(
@NonNull
String
bodyID
)
{
this
.
bodyID
=
bodyID
;
}
public
Body
(
String
bodyID
,
String
bodyStrID
,
String
bodyName
,
String
bodyShortDescription
,
String
bodyDescription
,
String
bodyImageURL
,
List
<
Body
>
bodyChildren
,
List
<
Body
>
bodyParents
,
List
<
Event
>
bodyEvents
,
int
bodyFollowersCount
,
String
bodyWebsiteURL
,
String
bodyBlogURL
,
boolean
bodyUserFollows
,
List
<
Role
>
bodyRoles
)
{
public
Body
(
String
bodyID
,
String
bodyStrID
,
String
bodyName
,
String
bodyShortDescription
,
String
bodyDescription
,
String
bodyImageURL
,
List
<
Body
>
bodyChildren
,
List
<
Body
>
bodyParents
,
List
<
Event
>
bodyEvents
,
int
bodyFollowersCount
,
String
bodyWebsiteURL
,
String
bodyBlogURL
,
boolean
bodyUserFollows
,
List
<
Role
>
bodyRoles
)
{
this
.
bodyID
=
bodyID
;
this
.
bodyID
=
bodyID
;
this
.
bodyStrID
=
bodyStrID
;
this
.
bodyStrID
=
bodyStrID
;
...
...
app/src/main/java/app/insti/fragment/ProfileFragment.java
View file @
47c04734
...
@@ -15,6 +15,7 @@ import android.view.ViewGroup;
...
@@ -15,6 +15,7 @@ import android.view.ViewGroup;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.google.gson.Gson
;
import
com.squareup.picasso.Picasso
;
import
com.squareup.picasso.Picasso
;
import
java.util.List
;
import
java.util.List
;
...
@@ -140,5 +141,11 @@ public class ProfileFragment extends BaseFragment {
...
@@ -140,5 +141,11 @@ public class ProfileFragment extends BaseFragment {
getActivity
().
findViewById
(
R
.
id
.
loadingPanel
).
setVisibility
(
View
.
GONE
);
getActivity
().
findViewById
(
R
.
id
.
loadingPanel
).
setVisibility
(
View
.
GONE
);
}
}
public
static
ProfileFragment
newInstance
(
String
userID
)
{
ProfileFragment
fragment
=
new
ProfileFragment
();
Bundle
args
=
new
Bundle
();
args
.
putString
(
Constants
.
USER_ID
,
userID
);
fragment
.
setArguments
(
args
);
return
fragment
;
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment