Skip to content

ANDROID-10730 Initial branch with nested scroll webview implementation #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Aug 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Built application files
*.apk
*.aar
*.ap_
*.aab

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/
# Uncomment the following line in case you need and you don't have the release build type files in your app
# release/

# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# IntelliJ
.idea/*
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
# Android Studio 3 in .gitignore file.
.idea/caches
.idea/modules.xml
# Comment next line if keeping position of elements in Navigation Editor is relevant for you
.idea/navEditor.xml

# Keystore files
# Uncomment the following lines if you do not want to check your keystore files in.
#*.jks
#*.keystore

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
.cxx/

# Google Services (e.g. APIs or Firebase)
# google-services.json

# Freeline
freeline.py
freeline/
freeline_project_description.json

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md

# Version control
vcs.xml

# lint
lint/intermediates/
lint/generated/
lint/outputs/
lint/tmp/
# lint/reports/
42 changes: 42 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}

android {
compileSdk 31

defaultConfig {
applicationId "com.telefonica.nestedscrollwebviewdemo"
minSdk 21
targetSdk 31
versionCode 1
versionName "1.0"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
viewBinding true
}
}

dependencies {
implementation project(':nestedscrollwebview')
implementation 'androidx.core:core-ktx:1.8.0'
implementation 'androidx.appcompat:appcompat:1.4.2'
implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
}
21 changes: 21 additions & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
29 changes: 29 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.telefonica.nestedscrollwebviewdemo">

<uses-permission android:name="android.permission.INTERNET"/>

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.NestedScrollWebViewDemo"
tools:targetApi="31">
<activity
android:name=".ScrollingActivity"
android:exported="true"
android:label="@string/scrolling_activity_name"
android:theme="@style/Theme.NestedScrollWebViewDemo.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>
52 changes: 52 additions & 0 deletions app/src/main/assets/scrollable_web_content.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<!DOCTYPE html>
<html>
<body>
<div id="lipsum">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eu mollis enim. Donec dictum laoreet arcu. Quisque vel leo eros. Nulla imperdiet sapien ac felis faucibus, nec laoreet magna venenatis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris pharetra ullamcorper laoreet. Suspendisse nisi metus, scelerisque id neque facilisis, tempus dictum nisl. Vivamus odio enim, ornare non lectus quis, feugiat accumsan justo. Sed malesuada auctor dolor, eu consequat lorem dignissim ac. Ut sed est non massa gravida vestibulum ut nec libero. Morbi sit amet finibus risus, eu hendrerit massa. Curabitur orci leo, tristique sed ultricies eget, efficitur sed mauris. Mauris ullamcorper lectus dolor, id aliquet enim imperdiet nec.
</p>
<p>
Aenean luctus sed sem ut volutpat. Sed et neque ut lorem porta egestas vel id nulla. Aliquam pulvinar tristique posuere. Aliquam porta volutpat mi eu gravida. Maecenas sed arcu sed mi tristique consectetur. Quisque accumsan eget justo vel posuere. Vestibulum lobortis rhoncus tortor, ut feugiat ipsum aliquet sed. Aliquam congue tellus nisi, a maximus eros euismod ac. Aenean tempus mauris non risus pretium scelerisque. Nam in augue leo.
</p>
<p>
Mauris ac scelerisque enim. Ut id tempus odio. In sed nisi sed urna cursus vestibulum eget a ligula. Aliquam nec lorem non eros cursus viverra. Etiam dignissim, erat eu pharetra cursus, lectus magna mattis felis, in fermentum turpis nisl in mi. Aenean id est tincidunt, scelerisque nisl eu, tempor ligula. Fusce posuere purus eros, a rutrum neque feugiat sed. Aliquam mattis felis enim, vitae feugiat diam auctor a. Etiam eleifend sollicitudin nisl, sit amet fringilla tellus vestibulum in. Suspendisse pretium lorem purus, vitae rutrum tellus vehicula vel.
</p>
<p>
Duis ac ante eu metus consectetur sagittis quis eget metus. Vestibulum in risus eu magna faucibus egestas eget at quam. Aliquam cursus neque sit amet interdum malesuada. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam facilisis quis odio ac luctus. Mauris congue nec neque et convallis. Nam ex velit, tristique eu convallis sit amet, euismod a nisi. Integer ut pulvinar enim, eu aliquet enim.
</p>
<p>
In in sapien accumsan, venenatis urna ut, cursus nisi. Quisque et suscipit orci. Phasellus at magna ante. Suspendisse et libero felis. Aliquam orci elit, viverra nec quam ut, lacinia tincidunt orci. Pellentesque orci erat, elementum a pulvinar nec, mattis sed neque. Ut metus tellus, rhoncus et eros ac, consectetur blandit sem. Curabitur quis laoreet neque, feugiat faucibus ex. Curabitur nunc turpis, sodales quis felis sed, pellentesque iaculis nisi. Aenean non ligula dolor. Nullam nec mollis leo. Duis sed odio leo. In vel orci quam. Mauris tincidunt facilisis nulla vel consequat.
</p>
<p>
Pellentesque elementum lectus vel vulputate volutpat. Nunc vel sollicitudin nibh, vitae aliquam ex. Aliquam ut pulvinar erat. Cras congue lobortis odio in faucibus. Nulla aliquam hendrerit dictum. In quis massa tellus. Proin ut erat pulvinar, pellentesque erat id, suscipit tellus. Donec dolor justo, maximus a pretium eu, laoreet eget mi.
</p>
<p>
Sed id sagittis nibh. Suspendisse potenti. Praesent dapibus arcu ac rutrum tempus. Sed egestas nisi eu enim porttitor faucibus. Donec venenatis eros porta lacus viverra, vel condimentum leo ornare. Quisque ut fringilla arcu. Mauris velit risus, accumsan in convallis volutpat, pharetra a urna. Maecenas consequat lorem sit amet lacus accumsan, nec mollis ligula tempus. Cras nec erat turpis. Nunc sollicitudin sed nisi vitae malesuada. Fusce eget nisi eget nulla pharetra molestie non aliquam tortor. Fusce ornare libero vel est viverra tempus. Vivamus in arcu non turpis aliquam malesuada.
</p>
<p>
Pellentesque aliquet tortor eget nisi pulvinar auctor. Ut sit amet arcu tempus, ornare arcu tincidunt, pretium nisi. Suspendisse facilisis nibh sit amet diam consequat congue. Duis sem turpis, vulputate ut risus eget, volutpat mattis mauris. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed vestibulum sollicitudin ex non ornare. Maecenas euismod nisl varius, rutrum nisl nec, lobortis nulla. Sed lectus velit, condimentum at tristique id, condimentum dapibus nunc. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus ornare luctus ipsum ac pellentesque. Pellentesque pharetra massa eu commodo facilisis. Fusce ex nisl, porta vel sem et, commodo imperdiet velit. Donec volutpat nisi id malesuada bibendum. Phasellus condimentum ipsum quis est rhoncus, ut convallis arcu aliquet. Duis viverra eros sapien.
</p>
<p>
Morbi ut neque rutrum, sollicitudin erat id, maximus ante. Maecenas tempus quam ac tincidunt luctus. Fusce dictum felis in turpis rutrum placerat. Sed laoreet sagittis ex, suscipit laoreet ex. Sed nec massa nisi. Aliquam mi dui, elementum ac dictum et, elementum sit amet leo. Aliquam erat volutpat. Nunc et cursus nisi, nec iaculis metus. Fusce enim ex, luctus non sapien et, ultricies ultricies ex. Vivamus commodo porta lacus, ut tempor magna mattis ac.
</p>
<p>
Mauris sit amet rhoncus dui. Vivamus tristique dui eget risus ullamcorper, non suscipit mi bibendum. Nulla facilisi. Pellentesque et dui ultrices dui fermentum maximus ut sed lorem. Donec bibendum felis ligula. Sed auctor tellus nec arcu euismod, et tristique velit pellentesque. Suspendisse ac elit risus. In vehicula pretium neque ut ultricies. Maecenas pretium turpis et sollicitudin dapibus. Suspendisse rutrum massa bibendum justo posuere, id ullamcorper dolor consectetur. Sed mattis orci a turpis aliquam fringilla. Quisque gravida fermentum diam, et sollicitudin velit dignissim eget. Sed feugiat sagittis gravida.
</p>
<p>
Morbi dapibus fermentum nulla, ac egestas ipsum ornare in. Nulla molestie dolor at aliquet facilisis. Suspendisse pellentesque mi nec quam sagittis ullamcorper. Integer bibendum imperdiet ipsum et mollis. Sed at augue nec lacus imperdiet faucibus. Pellentesque vulputate, mi id porta venenatis, nunc augue varius neque, id tempor est orci nec nibh. Ut eu nunc efficitur nisi dictum condimentum vitae non velit. Duis aliquet sed neque et rutrum. Cras volutpat tortor sit amet ipsum maximus rhoncus. Phasellus ut ipsum ut justo efficitur dapibus eget non est. Sed ullamcorper diam velit, nec semper libero mollis ac. Sed posuere libero ut tellus malesuada congue. Aenean ac lorem dapibus, luctus dui vitae, convallis dui. Nulla varius dolor a auctor tincidunt.
</p>
<p>
Sed enim velit, laoreet et lectus non, auctor pharetra nisi. Nunc eget porttitor ex, nec commodo augue. Suspendisse auctor quam turpis, sit amet lobortis odio facilisis ac. Integer ligula felis, ultrices sed efficitur id, commodo eu lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam tristique odio venenatis arcu molestie, eget maximus dui maximus. Quisque sit amet convallis nibh. Phasellus sem sem, malesuada sit amet leo id, laoreet malesuada magna. Donec et rutrum felis. Nunc at pellentesque erat, ac eleifend turpis. Cras quis viverra enim. In consectetur, turpis a tempus consequat, est arcu faucibus quam, quis rutrum ligula odio at est. Proin semper velit sit amet nisl tempus condimentum. Sed viverra eros eget mauris tristique, sed scelerisque eros dictum. Donec semper posuere felis eget semper.
</p>
<p>
Nullam interdum et lorem quis semper. Sed iaculis odio lacus, eu tempor arcu malesuada ac. Phasellus euismod risus ac nulla ultrices faucibus. Fusce dapibus sollicitudin sem sit amet lacinia. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent sed mauris nec urna faucibus malesuada. Donec sagittis ex magna, quis mattis purus sodales id. Maecenas rutrum tortor arcu, eget blandit mauris rutrum pulvinar.
</p>
<p>
Nunc ornare sem ante, eu accumsan est sollicitudin at. Nulla id nisi dui. In hac habitasse platea dictumst. Pellentesque ultricies sodales leo. Aenean dignissim, elit a tincidunt malesuada, ex mi tincidunt eros, in eleifend ante dui at nulla. Quisque ligula eros, efficitur sed sem eget, scelerisque consequat tellus. Nam bibendum nisi neque, eu dapibus lectus sodales sed. Vivamus condimentum orci a lacus pretium imperdiet. Quisque faucibus sapien ac tempus blandit. Vestibulum pretium elit nibh, eget condimentum libero cursus non. Sed ipsum ante, efficitur quis eros ut, dignissim commodo magna. Quisque eu purus posuere, pellentesque velit at, mattis tortor. Curabitur scelerisque elit eros, ut suscipit libero dignissim eget. Praesent mollis mi sit amet lorem pellentesque, at fringilla lectus efficitur.
</p>
<p>
Sed vitae turpis laoreet, suscipit neque sed, vehicula risus. Donec tellus ante, iaculis pretium turpis consectetur, commodo condimentum mi. Nunc eros turpis, vestibulum at suscipit nec, ultrices a enim. Vestibulum a lobortis massa. Aliquam sed ante blandit, venenatis felis vitae, elementum tellus. Sed dictum orci sapien, at cursus mi porttitor id. Etiam ac diam in odio eleifend consequat nec ac risus. Proin ultrices vel elit et commodo. Curabitur maximus magna vel magna pellentesque, vel porttitor enim vehicula. In in consectetur sapien, a malesuada orci. Fusce pharetra felis lorem, a feugiat turpis ullamcorper in. Curabitur eget facilisis sapien.
</p>
</div>
</body>
</html>
Loading