Skip to content

Commit 22b093a

Browse files
committed
🚧✨ Added Deeplink UI, graphical glitches need to be fixed.
1 parent f0859ae commit 22b093a

File tree

5 files changed

+198
-56
lines changed

5 files changed

+198
-56
lines changed

‎.idea/misc.xml‎

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎app/src/main/java/co/dothq/browser/BrowserActivity.kt‎

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ import android.content.Intent
55
import android.net.Uri
66
import android.os.Bundle
77
import android.view.View
8-
import android.widget.ImageView
9-
import android.widget.LinearLayout
10-
import android.widget.TextView
11-
import android.widget.Toast
8+
import android.widget.*
129
import androidx.activity.result.contract.ActivityResultContracts
1310
import androidx.appcompat.app.AppCompatActivity
1411
import androidx.core.net.toUri
@@ -79,13 +76,26 @@ class BrowserActivity : AppCompatActivity() {
7976
overridePendingTransition(0, 0);
8077
}
8178

79+
val deeplinkHeader = findViewById<LinearLayout>(R.id.deeplinkAddressBar);
80+
val browserHeader = findViewById<LinearLayout>(R.id.normalAddressbar);
8281

8382
try {
8483
val intent = intent
8584
val uri: Uri? = intent.data
85+
browserHeader.visibility = View.GONE;
86+
deeplinkHeader.visibility = View.VISIBLE;
87+
88+
if (uri.toString() == "") {
89+
browserHeader.visibility = View.VISIBLE;
90+
deeplinkHeader.visibility = View.GONE;
91+
}
8692
val url = URL(uri?.getScheme(), uri?.getHost(), uri?.getPath())
8793
session.loadUri(url.toString())
94+
deepLinkActivitySetup()
95+
8896
} catch (e: Exception) {
97+
browserHeader.visibility = View.VISIBLE;
98+
deeplinkHeader.visibility = View.GONE;
8999
session.loadUri("https://ddg.gg")
90100
}
91101
}
@@ -103,4 +113,12 @@ class BrowserActivity : AppCompatActivity() {
103113

104114
}
105115
}
116+
117+
fun deepLinkActivitySetup() {
118+
val deepLinkCloseButton = findViewById<LinearLayout>(R.id.closeButtonDeeplink);
119+
120+
deepLinkCloseButton.setOnClickListener {
121+
finish()
122+
}
123+
}
106124
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="16dp"
3+
android:height="16dp"
4+
android:viewportWidth="16"
5+
android:viewportHeight="16">
6+
<path
7+
android:pathData="M1.2929,1.2929C1.6834,0.9024 2.3166,0.9024 2.7071,1.2929L7.7172,6.3029C7.8162,6.4019 7.8657,6.4514 7.9227,6.47C7.973,6.4863 8.027,6.4863 8.0772,6.47C8.1343,6.4514 8.1838,6.4019 8.2828,6.3029L13.2929,1.2929C13.6834,0.9024 14.3166,0.9024 14.7071,1.2929C15.0976,1.6834 15.0976,2.3166 14.7071,2.7071L9.6971,7.7172C9.5981,7.8162 9.5485,7.8657 9.53,7.9227C9.5137,7.973 9.5137,8.027 9.53,8.0772C9.5485,8.1343 9.5981,8.1838 9.6971,8.2828L14.7071,13.2929C15.0976,13.6834 15.0976,14.3166 14.7071,14.7071C14.3166,15.0976 13.6834,15.0976 13.2929,14.7071L8.2828,9.6971C8.1838,9.5981 8.1343,9.5485 8.0772,9.53C8.027,9.5137 7.973,9.5137 7.9227,9.53C7.8657,9.5485 7.8162,9.5981 7.7172,9.6971L2.7071,14.7071C2.3166,15.0976 1.6834,15.0976 1.2929,14.7071C0.9024,14.3166 0.9024,13.6834 1.2929,13.2929L6.3029,8.2828C6.4019,8.1838 6.4514,8.1343 6.47,8.0772C6.4863,8.027 6.4863,7.973 6.47,7.9227C6.4514,7.8657 6.4019,7.8162 6.3029,7.7172L1.2929,2.7071C0.9024,2.3166 0.9024,1.6834 1.2929,1.2929Z"
8+
android:fillColor="?colorSecondary"
9+
android:fillType="evenOdd"/>
10+
</vector>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="16dp"
3+
android:height="16dp"
4+
android:viewportWidth="16"
5+
android:viewportHeight="16">
6+
<path
7+
android:pathData="M10,1C10,0.4477 10.4477,0 11,0H14C15.1046,0 16,0.8954 16,2V5C16,5.5523 15.5523,6 15,6C14.4477,6 14,5.5523 14,5V3.4142L10.7071,6.7071C10.3166,7.0976 9.6834,7.0976 9.2929,6.7071C8.9024,6.3166 8.9024,5.6834 9.2929,5.2929L12.5858,2H11C10.4477,2 10,1.5523 10,1Z"
8+
android:fillColor="?colorSecondary"/>
9+
<path
10+
android:pathData="M15,10C15,9.4477 14.5523,9 14,9C13.4477,9 13,9.4477 13,10V12C13,13.1046 12.1046,14 11,14H4C2.8954,14 2,13.1046 2,12V5C2,3.8954 2.8954,3 4,3H6C6.5523,3 7,2.5523 7,2C7,1.4477 6.5523,1 6,1H4C1.7909,1 0,2.7909 0,5V12C0,14.2091 1.7909,16 4,16H11C13.2091,16 15,14.2091 15,12V10Z"
11+
android:fillColor="?colorSecondary"/>
12+
</vector>

‎app/src/main/res/layout/activity_main.xml‎

Lines changed: 151 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,47 @@
1717
android:layout_width="match_parent"
1818
android:layout_height="50sp"
1919
android:background="?colorPrimary"
20-
android:orientation="horizontal"
20+
android:orientation="vertical"
2121
android:paddingStart="16sp"
2222
android:paddingTop="5sp"
2323
android:paddingEnd="16sp"
24-
android:paddingBottom="5sp">
24+
android:paddingBottom="5sp"
25+
android:visibility="visible">
2526

2627
<LinearLayout
27-
android:id="@+id/addressBarContainer"
28+
android:id="@+id/deeplinkAddressBar"
2829
android:layout_width="match_parent"
2930
android:layout_height="match_parent"
3031
android:layout_weight="1"
31-
android:background="@drawable/input_layout_normal"
32-
android:orientation="horizontal">
32+
android:orientation="horizontal"
33+
android:visibility="visible">
3334

3435
<LinearLayout
35-
android:layout_width="40dp"
36+
android:id="@+id/closeButtonDeeplink"
37+
android:layout_width="40sp"
38+
android:layout_height="match_parent"
39+
android:layout_margin="2dp"
40+
android:layout_weight="0"
41+
android:background="@drawable/invisible_button"
42+
android:clickable="true"
43+
android:gravity="center"
44+
android:orientation="vertical">
45+
46+
<ImageView
47+
android:id="@+id/imageView"
48+
android:layout_width="14dp"
49+
android:layout_height="wrap_content"
50+
android:alpha="0.8"
51+
app:srcCompat="@drawable/ic_close" />
52+
</LinearLayout>
53+
54+
<LinearLayout
55+
android:layout_width="40sp"
3656
android:layout_height="match_parent"
3757
android:layout_margin="2dp"
3858
android:layout_weight="0"
59+
android:background="@drawable/invisible_button"
60+
android:clickable="false"
3961
android:gravity="center"
4062
android:orientation="vertical">
4163

@@ -46,69 +68,147 @@
4668
android:layout_gravity="center"
4769
android:alpha="0.8"
4870
app:srcCompat="@drawable/ic_secure_filled" />
71+
4972
</LinearLayout>
5073

51-
<TextView
52-
android:id="@+id/addressBarDomain"
53-
android:layout_width="wrap_content"
74+
<LinearLayout
75+
android:layout_width="match_parent"
5476
android:layout_height="match_parent"
55-
android:layout_weight="0"
56-
android:alpha="0.9"
77+
android:layout_weight="1"
5778
android:gravity="center"
58-
android:lines="1"
59-
android:maxLines="1"
60-
android:minLines="1"
61-
android:textAlignment="viewStart"
62-
android:textColor="?colorSecondary"
63-
android:visibility="visible" />
64-
65-
<TextView
66-
android:id="@+id/addressBarPath"
67-
android:layout_width="wrap_content"
79+
android:orientation="vertical">
80+
81+
<TextView
82+
android:id="@+id/textView4"
83+
android:layout_width="match_parent"
84+
android:layout_height="wrap_content"
85+
android:text="Title" />
86+
87+
<TextView
88+
android:id="@+id/textView5"
89+
android:layout_width="match_parent"
90+
android:layout_height="wrap_content"
91+
android:text="URL"
92+
android:textSize="10sp" />
93+
</LinearLayout>
94+
95+
<LinearLayout
96+
android:layout_width="40dp"
6897
android:layout_height="match_parent"
98+
android:layout_margin="2dp"
6999
android:layout_weight="0"
70-
android:alpha="0.5"
71-
android:ellipsize="end"
100+
android:background="@drawable/invisible_button"
101+
android:clickable="true"
72102
android:gravity="center"
73-
android:lines="1"
74-
android:maxLines="1"
75-
android:minLines="1"
76-
android:paddingEnd="5sp"
77-
android:textAlignment="viewStart"
78-
android:textColor="?colorSecondary"
79-
app:autoSizeTextType="none" />
103+
android:orientation="vertical">
80104

105+
<ImageView
106+
android:id="@+id/imageView2"
107+
android:layout_width="14dp"
108+
android:layout_height="wrap_content"
109+
android:alpha="0.8"
110+
app:srcCompat="@drawable/ic_open_in_new" />
111+
</LinearLayout>
81112
</LinearLayout>
82113

83114
<LinearLayout
84-
android:id="@+id/closeAddressBarButton"
85-
android:layout_width="wrap_content"
86-
android:layout_height="wrap_content"
87-
android:layout_gravity="center"
88-
android:layout_marginLeft="11dp"
89-
android:background="@drawable/invisible_button"
90-
android:orientation="vertical"
91-
android:padding="5sp">
115+
android:id="@+id/normalAddressbar"
116+
android:layout_width="match_parent"
117+
android:layout_height="match_parent"
118+
android:layout_weight="1"
119+
android:orientation="horizontal"
120+
android:visibility="gone">
92121

93122
<LinearLayout
94-
android:layout_width="20dp"
95-
android:layout_height="20dp"
96-
android:layout_gravity="center"
97-
android:alpha="0.9"
98-
android:background="@drawable/tab_icon"
99-
android:gravity="center"
100-
android:orientation="vertical">
123+
android:id="@+id/addressBarContainer"
124+
android:layout_width="match_parent"
125+
android:layout_height="match_parent"
126+
android:layout_weight="1"
127+
android:background="@drawable/input_layout_normal"
128+
android:clickable="true"
129+
android:orientation="horizontal">
130+
131+
<LinearLayout
132+
android:layout_width="40dp"
133+
android:layout_height="match_parent"
134+
android:layout_margin="2dp"
135+
android:layout_weight="0"
136+
android:gravity="center"
137+
android:orientation="vertical">
138+
139+
<ImageView
140+
android:id="@+id/contextIdentityIcon"
141+
android:layout_width="14dp"
142+
android:layout_height="wrap_content"
143+
android:layout_gravity="center"
144+
android:alpha="0.8"
145+
app:srcCompat="@drawable/ic_secure_filled" />
146+
</LinearLayout>
101147

102148
<TextView
103-
android:id="@+id/tabNumber"
104-
android:layout_width="match_parent"
105-
android:layout_height="wrap_content"
149+
android:id="@+id/addressBarDomain"
150+
android:layout_width="wrap_content"
151+
android:layout_height="match_parent"
152+
android:layout_weight="0"
153+
android:alpha="0.9"
154+
android:gravity="center"
155+
android:lines="1"
156+
android:maxLines="1"
157+
android:minLines="1"
158+
android:textAlignment="viewStart"
159+
android:textColor="?colorSecondary"
160+
android:visibility="visible" />
161+
162+
<TextView
163+
android:id="@+id/addressBarPath"
164+
android:layout_width="wrap_content"
165+
android:layout_height="match_parent"
166+
android:layout_weight="0"
167+
android:alpha="0.5"
168+
android:ellipsize="end"
106169
android:gravity="center"
107-
android:text="1"
170+
android:lines="1"
171+
android:maxLines="1"
172+
android:minLines="1"
173+
android:paddingEnd="5sp"
174+
android:textAlignment="viewStart"
108175
android:textColor="?colorSecondary"
109-
android:textSize="12sp"
110-
android:textStyle="bold" />
176+
app:autoSizeTextType="none" />
177+
111178
</LinearLayout>
179+
180+
<LinearLayout
181+
android:id="@+id/closeAddressBarButton"
182+
android:layout_width="wrap_content"
183+
android:layout_height="wrap_content"
184+
android:layout_gravity="center"
185+
android:layout_marginLeft="11dp"
186+
android:background="@drawable/invisible_button"
187+
android:clickable="true"
188+
android:orientation="vertical"
189+
android:padding="5sp">
190+
191+
<LinearLayout
192+
android:layout_width="20dp"
193+
android:layout_height="20dp"
194+
android:layout_gravity="center"
195+
android:alpha="0.9"
196+
android:background="@drawable/tab_icon"
197+
android:gravity="center"
198+
android:orientation="vertical">
199+
200+
<TextView
201+
android:id="@+id/tabNumber"
202+
android:layout_width="match_parent"
203+
android:layout_height="wrap_content"
204+
android:gravity="center"
205+
android:text="1"
206+
android:textColor="?colorSecondary"
207+
android:textSize="12sp"
208+
android:textStyle="bold" />
209+
</LinearLayout>
210+
</LinearLayout>
211+
112212
</LinearLayout>
113213

114214
</LinearLayout>

0 commit comments

Comments
 (0)