Apple Inc. v. Samsung Electronics Co. Ltd. et al
Filing
1379
Unredacted Exhibits to Gray and Van Dam Decs ISO Samsung's MSJ by Samsung Electronics America, Inc.(a New York corporation), Samsung Electronics Co. Ltd., Samsung Telecommunications America, LLC(a Delaware limited liability company) re 1256 Order on Administrative Motion to File Under Seal, (Dkt. Nos. 931, 937 (Attachments: # 1 Exhibit 7 to Gray, # 2 Exhibit 8 to Gray, # 3 Exhibit 9 to Gray, # 4 Exhibit 10 to Gray, # 5 Exhibit 11 to Gray, # 6 Exhibit 12 to Gray, # 7 Exhibit 13 to Gray, # 8 Exhibit 14 to Gray, # 9 Exhibit 15 to Gray, # 10 Exhibit 2 to Van Dam)(Maroulis, Victoria) (Filed on 7/26/2012) Modified text on 7/27/2012 (dhm, COURT STAFF).
EXHIBIT 14
FILED UNDER SEAL
Infringement Claim Chart for U.S. Patent No. 7,844,915 against the Samsung Galaxy S2 Mobile Phone
U.S. Patent No. 7,844,915
Claim 1
A machine implemented method for
scrolling on a touch-sensitive display of a
device comprising:
Samsung Galaxy S II
The Samsung device, which includes a touch-sensitive display, performs a machine
implemented method for scrolling on the touch-sensitive display.
(Screenshot of the Samsung Galaxy S2 scrolling a webpage.)
sf-3121348
U.S. Patent No. 7,844,915
receiving a user input, the user input is one
or more input points applied to the touchsensitive display that is integrated with the
device;
Samsung Galaxy S II
The Samsung device receives a user input. The user input includes one or more input
points (one or more fingers) applied to the touch-sensitive display that is integrated
with the Samsung device.
(Screenshot of the Samsung Galaxy S2 receiving user input.)
sf-3121348
1
U.S. Patent No. 7,844,915
creating an event object in response to the
user input;
determining whether the event object
invokes a scroll or gesture operation by
distinguishing between a single input point
applied to the touch-sensitive display that
is interpreted as the scroll operation and
two or more input points applied to the
touch-sensitive display that are interpreted
as the gesture operation;
Samsung Galaxy S II
The Samsung device, via the Android platform on which the device operates, creates
an event object in response to the user input and determines whether the event object
invokes a scroll or gesture operation by distinguishing between a single input point
(single finger) applied to the touch-sensitive display that is interpreted as the scroll
operation and two or more input points (two or more fingers) applied to the touchsensitive display that are interpreted as the gesture operation.
As an example, under the Android platform, a MotionEvent object is created in
response to a touch on the touchscreen. (Android Developers Site at Class
MotionEvent) (Available at
http://developer.android.com/reference/android/view/MotionEvent.html.)
(Screenshots of the Samsung Galaxy S2 scrolling in response to a single input point
applied to the touch-sensitive display and scaling in response to two or more input
points applied to the touch-sensitive display.)
sf-3121348
2
U.S. Patent No. 7,844,915
sf-3121348
Samsung Galaxy S II
The Samsung Galaxy S II has source code that allows for “creating an
event object in response to the user input.”
On the Galaxy S II, user input is processed by the device driver, which passes
the input into user space and parses it into an event object referred to as the
“MotionEvent” object. This object is an event object created by the method
InputConsumer::populateMotionEvent(). (See
frameworks/base/libs/ui/inputTransport.cpp:702-792 [SAMNDCAC000005800 to -C000005802]; see also frameworks/base/libs/ui/input.cpp:128159 [SAMNDCA-C000005783 to -C000005784] (MotionEvent::initialize()
method)).
o Analogous code in Android 2.2, as exemplified by the Samsung
Vibrant, appears in methods at the following Bates pages: SAMNDCAC000006088.
o Analogous code in Android 2.1, as exemplified by the Samsung
Captivate, appears in methods at the following Bates pages:
SAMNDCA-C000006258 to -C000006259.
The Samsung Galaxy S II has source code that allows for “determining
whether the event object invokes a scroll or gesture operation by
distinguishing between a single input point applied to the touch-sensitive
display that is interpreted as the scroll operation and two or more input
points applied to the touch-sensitive display that are interpreted as the
gesture operation”
On the Galaxy S II, the WebView class’s onTouchEvent() method interprets the
input points associated with the MotionEvent object it processes. The
onTouchEvent() method distinguishes between a single input point
(ev.getPointerCount == 1) and two or more input points (ev.getPointerCount >
1). (See WebView.java:7476-7512 [SAMDNCA-C000005757 to C000005758].) If one input point is detected, the contact is interpreted as a
scroll operation in onTouchEvent(). (See WebView.java:7514-8168
[SAMNDCA-C000005758 to -C000005772].) If two or more input points are
detected, the contact is interpreted as a gesture operation via a call to
mScaleDetector.onTouchEvent(). (See WebView.java:7479 [SAMNDCA-
3
U.S. Patent No. 7,844,915
Samsung Galaxy S II
C000005758].)
o Analogous code in Android 2.2, as exemplified by the Samsung
Vibrant, appears in methods at the following Bates pages: SAMNDCAC000006138.
o Analogous code in Android 2.1, as exemplified by the Samsung
Captivate, appears in methods at the following Bates pages:
SAMNDCA-C000006306.
sf-3121348
4
U.S. Patent No. 7,844,915
issuing at least one scroll or gesture call
based on invoking the scroll or gesture
operation;
responding to at least one scroll call, if
issued, by scrolling a window having a
view associated with the event object based
on an amount of a scroll with the scroll
stopped at a predetermined position in
relation to the user input; and
Samsung Galaxy S II
The Samsung device issues at least one scroll or gesture call based on invoking the
scroll or gesture operation. The Samsung device responds to at least one scroll call, if
issued, by scrolling a window having a view associated with the event object based on
an amount of a scroll with the scroll stopped at a predetermined position in relation to
the user input.
(Screenshot of the Samsung Galaxy S2 scrolling a webpage.)
sf-3121348
The Samsung Galaxy S II has source code that is capable of “issuing at
5
U.S. Patent No. 7,844,915
sf-3121348
Samsung Galaxy S II
least one scroll or gesture call based on invoking the scroll or gesture
operation.”
On the Galaxy S II, if one input point is detected, WebView’s onTouchEvent()
will issue a scroll call to doDrag() or doFling(). (WebView.java:7944, 8123
[SAMNDCA-C000005767, -C000005771]) If two or more input points are
detected, the contact is interpreted as a gesture operation and issue a call to
mScaleDetector.onTouchEvent(). (See WebView.java:7479 [SAMNDCAC000005758].)
o Analogous code in Android 2.2, as exemplified by the Samsung
Vibrant, appears in methods at the following Bates pages:
SAMNDCA-C000006138.
o Analogous code in Android 2.1, as exemplified by the Samsung
Captivate, appears in methods at the following Bates pages:
SAMNDCA-C000006306.
The Samsung Galaxy S II has source code that is capable of “responding
to at least one scroll call, if issued, by scrolling a window having a view
associated with the event object based on an amount of a scroll with the
scroll stopped at a predetermined position in relation to the user input.”
On the Galaxy S II, the onTouchEvent() method calls doFling() for a scroll
operation. (See WebView.java:8123 [SAMNDCA-C000005771].) doFling()
then calls the Overscroller.fling() method. (See WebView.java:8784
[SAMNDCA-C000005775.) Overscroller.fling() itself calls mScrollerX and
mScrollerY, each of which is responsible for scrolling in one axis (i.e., one
scrolls horizontally and the other scrolls vertically). (See
OverScroller.java:395-396 [SAMNDCA-C000005959].) The OverScroller
class thus maintains state information for the fling. (See id.)
The mScrollerX and mScrollerY track the start points, start time, duration,
total distance, and the final position for the scroll at the end of the fling
operation. (OverScroller.java:681-754 [SAMNDCA-C000005965 to –
C000005967].) The OverScroller.fling() function thus determines the final
position of the fling before beginning the fling operation.
The actual rendering of the fling occurs subsequently as part of the drawing
6
U.S. Patent No. 7,844,915
sf-3121348
Samsung Galaxy S II
cycle. At the end of an event processing cycle, the method computeScroll() is
called to compute which part of the view should be rendered to the user. (See
WebView.java:3929-3983 [SAMNDCA-C000005728 to –C000005729].) The
computeScroll() method uses the OverScroller class to extract the state
information for the fling. (See id.) Afterwards, it calls
WebView.overScrollBy() to scroll the content—this method calculates
maximums for the distance the user can scroll beyond the edge of the content
and whether content should be fixed to a particular axis. (See id.)
onOverScrollBy() itself calls onOverScrolled() to ensure the intended scroll
coordinates are valid and then calls View.scrollTo() to invoke the scroll
operation. (See View.java:9004, 9053 [SAMNDCA-C000005835 to –
C000005836].) View.scrollTo() scrolls the window (setting mScrollX and
mScrollY) based on the amount of a scroll with the scroll stopped at a
“predetermined position in relation to the user input.” (See
WebView.java:3505, 3525 [SAMDNCA-5726].)
Alternatively, the scroll stops at a “predetermined position in relation to the
user input” because after the mScrollX and mScrollY fields are set (or
determined), the WebView.onDraw() method is subsequently called to
translate and draw the view shown to the user. (See WebView.java:4764-4918
[SAMNDCA-C000005732 to –C000005735].)
o Analogous code in Android 2.2, as exemplified by the Samsung
Vibrant, appears in methods at the following Bates pages:
SAMNDCA-C000006115, SAMNDCA-C000006118, SAMNDCAC000006128, SAMNDCA-C000006130, SAMNDCA-C000006135,
SAMNDCA-C000006141 to -C000006147, SAMNDCAC000006162, SAMNDCA-C000006163, SAMNDCA-C000006165.
o Analogous code in Android 2.1, as exemplified by the Samsung
Captivate, appears in methods at the following Bates pages:
SAMNDCA-C000006285, SAMNDCA-C000006288, SAMNDCAC000006297, SAMNDCA-C000006300, SAMNDCA-C000006305,
SAMNDCA-C000006309 to -C000006314, SAMNDCAC000006326, SAMNDCA-C000006327, SAMNDCA-C000006329.
7
U.S. Patent No. 7,844,915
responding to at least one gesture call, if
issued, by scaling the view associated with
the event object based on receiving the two
or more input points in the form of the user
input.
Samsung Galaxy S II
The Samsung device responds to issue at least one gesture call, if issued, by scaling the
view associated with the event object based on receiving the two or more input points
(two or more fingers) in the form of the user input.
(Screenshot of the Samsung Galaxy S2 scaling a webpage.)
sf-3121348
On the Galaxy S II, the onTouchEvent() method calls the
mScaleDetector.onTouchEvent() method to perform the scaling (zoom)
operation using the MotionEvent object information, which includes the two or
8
U.S. Patent No. 7,844,915
sf-3121348
Samsung Galaxy S II
more input points touching the screen. (See WebView.java:7479
[SAMNDCA-C000005758].) onTouchEvent() calls setContext(), which
records information about the position of the two input points corresponding,
for example, to the user’s fingers on the screen
(WebviewScaleGestureDetector.java:323 [SAMNDCA-C000005824]). As the
user moves his fingers relative to one another—as in, for example, a pinching
or de-pinching gesture—the onScale() method of the WebView class calls the
WebviewScaleGestureDetector’s getScaleFactor() method to calculate the
scale factor based on the ratio of the current distance between the fingers and
the previous distance between them (as of the last time the touch screen was
polled for input). (WebView.java:7230-7294 [SAMNDCA-C000005753 to C000005755];) onScale() then calls setNewZoomScale(), which uses the
calculated scale factor to scale the WebView and all of its child views.
WebView.java:7289 [SAMNDCA-C000005755]; WebView.java:3091-3246
[SAMNDCA-C000005722 to -C000005725].)
o Analogous code in Android 2.2, as exemplified by the Samsung
Vibrant, appears in methods at the following Bates pages: SAMNDCAC000006108, SAMNDCA-C000006110 to -C000006113, SAMNDCAC000006137, SAMNDCA-C000006138.
o Analogous code in Android 2.1, as exemplified by the Samsung
Captivate, appears in methods at the following Bates pages:
SAMNDCA-C000006279, SAMNDCA-C000006281 to -C000006282,
SAMNDCA-C000006284, SAMNDCA-C000006302, SAMNDCAC000006303.
9
U.S. Patent No. 7,844,915
Claim 3
The method as in claim 1, further
comprising:
Samsung Galaxy S II
The Samsung device attaches scroll indicators to the window edge.
attaching scroll indicators to a content edge
of the window.
Scroll indicator
Content edge
of the window
(Screenshot of the Samsung Galaxy S2 attaching a scroll indicator to a content edge of
the window.)
sf-3121348
10
U.S. Patent No. 7,844,915
Claim 4
The method as in claim 1, further
comprising:
Samsung Galaxy S II
The Samsung device attaches scroll indicators to the window edge.
attaching scroll indicators to the window
edge.
Scroll indicator
Content edge
of the window
(Screenshot of the Samsung Galaxy S2 attaching a scroll indicator to the window
edge.)
sf-3121348
11
U.S. Patent No. 7,844,915
Claim 5
The method as in claim 1, wherein
determining whether the event object
invokes a scroll or gesture operation is
based on receiving a drag user input for a
certain time period.
sf-3121348
Samsung Galaxy S II
The Samsung device determines whether the event object invokes a scroll or gesture
operation based on receiving a drag user input for a certain time period.
The Galaxy S II determines whether the event object invokes the scroll
operation based on receiving a drag user input for a certain time period. The
onTouchEvent() method invokes the fling operation based on the user scrolling
within a certain period of time. (See WebView.java:8107-8125 [SAMDNCAC00005771].)
o Analogous code in Android 2.2, as exemplified by the Samsung
Vibrant, appears in methods at the following Bates pages: SAMDNCAC00006147.
o Analogous code in Android 2.1, as exemplified by the Samsung
Captivate, appears in methods at the following Bates pages:
SAMDNCA-C00006314.
12
U.S. Patent No. 7,844,915
Claim 7
The method as in claim 1, wherein the
device is one of: a data processing device,
a portable device, a portable data
processing device, a multi touch device, a
multi touch portable device, a wireless
device, and a cell phone.
Samsung Galaxy S II
The Samsung device is a cell phone.
(Screenshot of the Samsung Galaxy S2 displaying a call menu.)
sf-3121348
13
U.S. Patent No. 7,844,915
Claim 8
A machine readable storage medium
storing executable program instructions
which when executed cause a data
processing system to perform a method
comprising:
sf-3121348
Samsung Galaxy S II
The Samsung device includes a computer readable storage medium storing executable
program instructions. The executable program instructions, when executed, cause the
Samsung device to perform a method.
14
U.S. Patent No. 7,844,915
receiving a user input, the user input is
one or more input points applied to a
touch-sensitive display that is integrated
with the data processing system;
Samsung Galaxy S II
The instructions, when executed, cause the Samsung device to receive a user input.
The user input includes one or more input points (one or more fingers) applied to the
touch-sensitive display that is integrated with the Samsung device.
(Screenshot of the Samsung Galaxy S2 receiving user input.)
sf-3121348
15
U.S. Patent No. 7,844,915
creating an event object in response to the
user input;
determining whether the event object
invokes a scroll or gesture operation by
distinguishing between a single input
point applied to the touch-sensitive
display that is interpreted as the scroll
operation and two or more input points
applied to the touch-sensitive display that
are interpreted as the gesture operation;
Samsung Galaxy S II
The instructions, when executed, cause the Samsung device, via the Android platform
on which the device operates, to create an event object in response to the user input.
The instructions, when executed, also cause the Samsung device to determine whether
the event object invokes a scroll or gesture operation by distinguishing between a
single input point (single finger) applied to the touch-sensitive display that is
interpreted as the scroll operation and two or more input points (two or more fingers)
applied to the touch-sensitive display that are interpreted as the gesture operation.
As an example, under the Android platform, a MotionEvent object is created in
response to a touch on the touchscreen. (Android Developers Site at Class
MotionEvent) (Available at
http://developer.android.com/reference/android/view/MotionEvent.html.)
(Screenshots of the Samsung Galaxy S2 scrolling in response to a single input point
applied to the touch-sensitive display and scaling in response to two or more input
points applied to the touch-sensitive display.)
sf-3121348
16
U.S. Patent No. 7,844,915
issuing at least one scroll or gesture call
based on invoking the scroll or gesture
operation;
Samsung Galaxy S II
The instructions, when executed, cause the Samsung device to issue at least one scroll
or gesture call based on invoking the scroll or gesture operation. The instructions,
when executed, also cause the Samsung device to respond to at least one scroll call, if
issued, by scrolling a window having a view associated with the event object.
responding to at least one scroll call, if
issued, by scrolling a window having a
view associated with the event object; and
(Screenshot of the Samsung Galaxy S2 scrolling a webpage.)
sf-3121348
17
U.S. Patent No. 7,844,915
responding to at least one gesture call, if
issued, by scaling the view associated with
the event object based on receiving the
two or more input points in the form of the
user input.
Samsung Galaxy S II
The instructions, when executed, cause the Samsung device to at least one gesture
call, if issued, by scaling the view associated with the event object based on receiving
the two or more input points (two or more fingers) in the form of the user input.
(Screenshot of the Samsung Galaxy S2 scaling a webpage.)
sf-3121348
18
U.S. Patent No. 7,844,915
Claim 9
The medium as in claim 8, further
comprising:
Samsung Galaxy S II
The instructions, when executed, cause the Samsung device to rubberband a scrolling
region displayed within the window by a predetermined maximum displacement when
the scrolled region exceeds a window edge based on the scroll.
rubberbanding a scrolling region displayed
within the window by a predetermined
maximum displacement when the scrolled
region exceeds a window edge based on the
scroll.
(Screenshots of the Samsung Galaxy S2 rubberbanding an image.)
sf-3121348
19
U.S. Patent No. 7,844,915
Claim 10
The medium as in claim 8, further
comprising:
Samsung Galaxy S II
The instructions, when executed, cause the Samsung device to attach scroll indicators
to a content edge of the view.
attaching scroll indicators to a e of the
view.
Scroll indicator
Content edge
of the window
(Screenshot of the Samsung Galaxy S2 attaching a scroll indicator to a content edge of
the view.
)
sf-3121348
20
U.S. Patent No. 7,844,915
Claim 11
The medium as in claim 8, further
comprising:
Samsung Galaxy S II
The instructions, when executed, cause the Samsung device to attach scroll indicators
to a content edge of the view.
attaching scroll indicators to a window
edge of the view.
Scroll indicator
Content edge
of the window
(Screenshot of the Samsung Galaxy S2 attaching a scroll indicator to a content edge of
the view.
sf-3121348
21
U.S. Patent No. 7,844,915
Claim 12
The medium as in claim 8, wherein
determining whether the event object
invokes a scroll or gesture operation is
based on receiving a drag user input for a
certain time period.
Claim 14
The medium as in claim 8, wherein the
data processing system is one of: a data
processing device, a portable device, a
portable data processing device, a multi
touch device, a multi touch portable device,
a wireless device, and a cell phone.
Samsung Galaxy S II
The instructions, when executed, cause the Samsung device to determine whether the
event object invokes a scroll or gesture operation based on receiving a drag user input
for a certain time period.
The Samsung device is a cell phone.
(Screenshot of the Samsung Galaxy S2 displaying a call menu.)
sf-3121348
22
U.S. Patent No. 7,844,915
Claim 15
An apparatus, comprising:
means for receiving, through a hardware
device, a user input on a touch-sensitive
display of the apparatus, the user input is
one or more input points applied to the
touch-sensitive display that is integrated
with the apparatus;
Samsung Galaxy S II
The Samsung device includes a processor executing computer instructions for
receiving, through a hardware device, a user input on a touch-sensitive display of the
apparatus, the user input is one or more input points (one or more fingers) applied to
the touch-sensitive display that is integrated with the Samsung device.
(Screenshot of the Samsung Galaxy S2 receiving user input.)
sf-3121348
23
U.S. Patent No. 7,844,915
means for creating an event object in
response to the user input;
means for determining whether the event
object invokes a scroll or gesture operation
by distinguishing between a single input
point applied to the touch-sensitive display
that is interpreted as the scroll operation
and two or more input points applied to the
touch-sensitive display that are interpreted
as the gesture operation;
Samsung Galaxy S II
The Samsung device, via the Android platform on which the device operates, includes
a processor executing computer instructions for creating an event object in response to
the user input and determining whether the event object invokes a scroll or gesture
operation by distinguishing between a single input point (single finger) applied to the
touch-sensitive display that is interpreted as the scroll operation and two or more input
points (two or more fingers) applied to the touch-sensitive display that are interpreted
as the gesture operation.
As an example, under the Android platform, a MotionEvent object is created in
response to a touch on the touchscreen. (Android Developers Site at Class
MotionEvent) (Available at
http://developer.android.com/reference/android/view/MotionEvent.html.)
(Screenshots of the Samsung Galaxy S2 scrolling in response to a single input point
applied to the touch-sensitive display and scaling in response to two or more input
points applied to the touch-sensitive display.)
sf-3121348
24
U.S. Patent No. 7,844,915
means for issuing at least one scroll or
gesture call based on invoking the scroll or
gesture operation;
Samsung Galaxy S II
The Samsung device includes a processor executing computer instructions for issuing
at least one scroll or gesture call based on invoking the scroll or gesture operation. The
processor also executing computer instructions for responding to at least one scroll call,
if issued, by scrolling a window having a view associated with the event object.
means for responding to at least one scroll
call, if issued, by scrolling a window
having a view associated with the event
object; and
(Screenshot of the Samsung Galaxy S2 scrolling a webpage.)
sf-3121348
25
U.S. Patent No. 7,844,915
means for responding to at least one
gesture call, if issued, by scaling the view
associated with the event object based on
receiving the two or more input points in
the form of the user input.
Samsung Galaxy S II
The Samsung device includes a processor executing computer instructions for
responding to at least one gesture call, if issued, by scaling the view associated with the
event object based on receiving the two or more input points (two or more fingers) in
the form of the user input.
(Screenshot of the Samsung Galaxy S2 scaling a webpage.)
sf-3121348
26
U.S. Patent No. 7,844,915
Claim 16
The apparatus as in claim 15, further
comprising:
means for rubberbanding a scrolling region
displayed within the window by a
predetermined maximum displacement
when the scrolling region exceeds a
window edge based on the scroll.
Samsung Galaxy S II
The Samsung device includes a processor executing computer instructions for
rubberbanding a scrolling region displayed within the window by a predetermined
maximum displacement when the scrolling region exceeds a window edge based on the
scroll.
(Screenshots of the Samsung Galaxy S2 rubberbanding an image.)
sf-3121348
27
U.S. Patent No. 7,844,915
Claim 17
The apparatus as in claim 15, further
comprising:
Samsung Galaxy S II
The Samsung device includes a processor executing computer instructions for
attaching scroll indicators to a content edge of the window.
means for attaching scroll indicators to a
content edge of the window.
Scroll indicator
Content edge
of the window
(Screenshot of the Samsung Galaxy S2 attaching a scroll indicator to a content edge of
the window.)
sf-3121348
28
U.S. Patent No. 7,844,915
Claim 18
The apparatus as in claim 15, further
comprising:
Samsung Galaxy S II
The Samsung device includes a processor executing computer instructions for
attaching scroll indicators to the window edge.
means for attaching scroll indicators to the
window edge.
Scroll indicator
Content edge
of the window
(Screenshot of the Samsung Galaxy S2 attaching a scroll indicator to the window
edge.)
sf-3121348
29
U.S. Patent No. 7,844,915
Claim 19
The apparatus as in claim 15, wherein
determining whether the event object
invokes a scroll or gesture operation is
based on receiving a drag user input for a
certain time period.
Claim 21
The apparatus as in claim 15, wherein the
apparatus is one of: a data processing
device, a portable device, a portable data
processing device, a multi touch device, a
multi touch portable device, a wireless
device, and a cell phone.
Samsung Galaxy S II
The Samsung device includes a processor executing computer instructions for
determining whether the event object invokes a scroll or gesture operation based on
receiving a drag user input for a certain time period.
The Samsung device is a cell phone.
(Screenshot of the Samsung Galaxy S2 displaying a call menu.)
sf-3121348
30
Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.
Why Is My Information Online?