Skip to content
This repository was archived by the owner on Aug 22, 2024. It is now read-only.

Commit f87848c

Browse files
committed
[REFACTOR] [#28] Renamed the position layout to base layout.
[ADDED] Documentation for the base activity. Fixes #28
1 parent 05b5eae commit f87848c

File tree

7 files changed

+25
-26
lines changed

7 files changed

+25
-26
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
<category android:name="android.intent.category.LAUNCHER" />
1818
</intent-filter>
1919
</activity>
20-
<activity android:name=".layoutpositioning.LayoutPositioningDemoActivity" />
21-
<activity android:name=".layoutpositioning.LayoutVisibilityGoneActivity"></activity>
20+
<activity android:name=".layoutpreview.LayoutPreviewBaseActivity" />
21+
<activity android:name=".layoutpreview.LayoutVisibilityGoneActivity"></activity>
2222
</application>
2323

2424
</manifest>

app/src/main/java/com/hossainkhan/android/demo/browse/MainActivity.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ package com.hossainkhan.android.demo.browse
1919
import android.support.v7.app.AppCompatActivity
2020
import android.os.Bundle
2121
import android.support.v7.widget.GridLayoutManager
22-
import android.support.v7.widget.LinearLayoutManager
2322
import android.support.v7.widget.RecyclerView
24-
import android.view.View
2523
import com.hossainkhan.android.demo.R
2624
import com.hossainkhan.android.demo.data.AppDataStore
27-
import com.hossainkhan.android.demo.layoutpositioning.LayoutPositioningDemoActivity
28-
import com.hossainkhan.android.demo.layoutpositioning.LayoutVisibilityGoneActivity
25+
import com.hossainkhan.android.demo.layoutpreview.LayoutPreviewBaseActivity
26+
import com.hossainkhan.android.demo.layoutpreview.LayoutVisibilityGoneActivity
2927
import dagger.android.AndroidInjection
3028
import timber.log.Timber
3129
import javax.inject.Inject
@@ -73,7 +71,7 @@ class MainActivity : AppCompatActivity() {
7371
.createStartIntent(this))
7472
}
7573
else -> {
76-
startActivity(LayoutPositioningDemoActivity
74+
startActivity(LayoutPreviewBaseActivity
7775
.createStartIntent(this, layoutResId))
7876
}
7977
}

app/src/main/java/com/hossainkhan/android/demo/dagger/ActivityBindingModule.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package com.hossainkhan.android.demo.dagger
1818

19-
import com.hossainkhan.android.demo.layoutpositioning.LayoutPositioningDemoActivity
20-
import com.hossainkhan.android.demo.layoutpositioning.LayoutVisibilityGoneActivity
19+
import com.hossainkhan.android.demo.layoutpreview.LayoutPreviewBaseActivity
20+
import com.hossainkhan.android.demo.layoutpreview.LayoutVisibilityGoneActivity
2121
import dagger.Module
2222
import dagger.android.ContributesAndroidInjector
2323

@@ -47,7 +47,7 @@ abstract class ActivityBindingModule {
4747
*/
4848
@ActivityScope
4949
@ContributesAndroidInjector
50-
abstract fun layoutPositioningActivity(): LayoutPositioningDemoActivity
50+
abstract fun layoutPositioningActivity(): LayoutPreviewBaseActivity
5151

5252
@ActivityScope
5353
@ContributesAndroidInjector

app/src/main/java/com/hossainkhan/android/demo/layoutpositioning/LayoutPositioningDemoActivity.kt renamed to app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutPreviewBaseActivity.kt

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package com.hossainkhan.android.demo.layoutpositioning
17+
package com.hossainkhan.android.demo.layoutpreview
1818

1919
import android.content.Context
2020
import android.content.Intent
@@ -34,14 +34,18 @@ import timber.log.Timber
3434
import javax.inject.Inject
3535

3636
/**
37-
* Relative positioning is one of the basic building block of creating layouts in ConstraintLayout.
38-
* Those constraints allow you to position a given widget relative to another one.
39-
* You can constrain a widget on the horizontal and vertical axis.
37+
* This the the **base** activity for previewing different constraint layout features.
38+
*
39+
* Currently, the activity does following basic actions:
40+
* 1. Inject necessary dependencies required for all activities.
41+
* 1. Load and populate [LayoutInformation] for currently viewing layout.
42+
* 1. Shows tooltip with layout details for the first time only.
43+
* 1. Loads layout XML source code from Github.
4044
*/
41-
open class LayoutPositioningDemoActivity : AppCompatActivity() {
45+
open class LayoutPreviewBaseActivity : AppCompatActivity() {
4246

4347
companion object {
44-
private const val BUNDLE_KEY_LAYOUT_RESID = "KEY_LAYOUT_RESOURCE_ID"
48+
internal const val BUNDLE_KEY_LAYOUT_RESID = "KEY_LAYOUT_RESOURCE_ID"
4549

4650
/**
4751
* Creates an intent with required information to start this activity.
@@ -50,7 +54,7 @@ open class LayoutPositioningDemoActivity : AppCompatActivity() {
5054
* @param layoutResourceId The layout resource ID to load into the view.
5155
*/
5256
fun createStartIntent(context: Context, @LayoutRes layoutResourceId: Int): Intent {
53-
val intent = Intent(context, LayoutPositioningDemoActivity::class.java)
57+
val intent = Intent(context, LayoutPreviewBaseActivity::class.java)
5458
intent.putExtra(BUNDLE_KEY_LAYOUT_RESID, layoutResourceId)
5559
return intent
5660
}
@@ -67,9 +71,8 @@ open class LayoutPositioningDemoActivity : AppCompatActivity() {
6771
super.onCreate(savedInstanceState)
6872

6973
val layoutResourceId = intent.getIntExtra(BUNDLE_KEY_LAYOUT_RESID, -1)
70-
val resourceName = appDataStore.layoutStore.getLayoutUrl(layoutResourceId)
7174
layoutInformation = appDataStore.layoutStore.layoutsInfos[layoutResourceId]!!
72-
Timber.d("Loading layout: %s, info: %s", resourceName, layoutInformation)
75+
Timber.d("Loading layout: %s", layoutInformation)
7376

7477
setContentView(layoutResourceId)
7578

app/src/main/java/com/hossainkhan/android/demo/layoutpositioning/LayoutVisibilityGoneActivity.kt renamed to app/src/main/java/com/hossainkhan/android/demo/layoutpreview/LayoutVisibilityGoneActivity.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package com.hossainkhan.android.demo.layoutpositioning
17+
package com.hossainkhan.android.demo.layoutpreview
1818

1919
import android.content.Context
2020
import android.content.Intent
@@ -23,16 +23,13 @@ import android.view.View
2323
import android.widget.Button
2424
import com.hossainkhan.android.demo.R
2525

26-
class LayoutVisibilityGoneActivity : LayoutPositioningDemoActivity() {
26+
class LayoutVisibilityGoneActivity : LayoutPreviewBaseActivity() {
2727

2828
companion object {
29-
private const val BUNDLE_KEY_LAYOUT_RESID = "KEY_LAYOUT_RESOURCE_ID"
30-
3129
/**
3230
* Creates an intent with required information to start this activity.
3331
*
3432
* @param context Activity context.
35-
* @param layoutResourceId The layout resource ID to load into the view.
3633
*/
3734
fun createStartIntent(context: Context): Intent {
3835
val intent = Intent(context, LayoutVisibilityGoneActivity::class.java)
@@ -44,6 +41,7 @@ class LayoutVisibilityGoneActivity : LayoutPositioningDemoActivity() {
4441
override fun onCreate(savedInstanceState: Bundle?) {
4542
super.onCreate(savedInstanceState)
4643

44+
// Setup additional view that is only available in this screen.
4745
val toggleButton = findViewById<Button>(R.id.toggle_view_visibility_button)
4846
val firstView = findViewById<View>(R.id.visibility_behaviour_box_start)
4947

app/src/main/res/layout/preview_positioning_centered.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
android:layout_height="match_parent"
2323
android:foreground="@drawable/ic_grid_overlay"
2424
android:foregroundTint="@color/grid_tint"
25-
tools:context=".layoutpositioning.LayoutPositioningDemoActivity">
25+
tools:context=".layoutpreview.LayoutPreviewBaseActivity">
2626

2727

2828
<!--

app/src/main/res/layout/preview_positioning_top_left.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
android:layout_height="match_parent"
2222
android:foreground="@drawable/ic_grid_overlay"
2323
android:foregroundTint="@color/grid_tint"
24-
tools:context=".layoutpositioning.LayoutPositioningDemoActivity">
24+
tools:context=".layoutpreview.LayoutPreviewBaseActivity">
2525

2626

2727
<!--

0 commit comments

Comments
 (0)